小编Pen*_*ant的帖子

你如何在Java中浏览URL?

当我通过URL的InputStream读取xml,然后删除除url之外的所有内容时,我得到" http://cliveg.bu.edu/people/sganguly/player/%20Rang%20De%20Basanti%20-%20Tu% 20Bin%20Bataye.mp3 ".

如你所见,有很多"%20".

我希望网址不被转义.

有没有办法在Java中这样做,而不使用第三方库?

java url-encoding

33
推荐指数
2
解决办法
4万
查看次数

如何从JTable中删除选定的行?

我试过这个:

public void removeSelectedFromTable(JTable from)
{
    int[] rows = from.getSelectedRows();
    TableModel tm= from.getModel();

    while(rows.length>0)
    {
        ((DefaultTableModel)tm).removeRow(from.convertRowIndexToModel(rows[0]));

        rows = from.getSelectedRows();
    }
    from.clearSelection();
}
Run Code Online (Sandbox Code Playgroud)

但是,它有时会留下一个.可能是什么问题?

jtable

14
推荐指数
5
解决办法
5万
查看次数

如何使用便携式JRE打包可执行jar?

我希望能够通过可执行JAR进行分发,而无需让用户升级到最新版本的JRE.如何将JRE打包到JAR中,以便它们可以在系统上没有安装JRE的情况下运行jar?

java executable-jar

11
推荐指数
2
解决办法
9870
查看次数

如何在Java中测试互联网的可用性?

当我从url.openStream()中捕获异常时,我不想告诉互联网不可用的困难方式.

有一种简单的方法可以判断计算机是否通过Java连接到Internet?在这种情况下,"连接到互联网"意味着能够从特定网址下载数据.

如果我尝试从它下载​​但它不可用,那么该程序会挂起一点.我不想那么挂.因此,我需要一种快速的方式来查询网站是否可用.

java

8
推荐指数
2
解决办法
1万
查看次数

使用JLayer时在Java中更改卷

我正在使用JLayer播放来自互联网的mp3数据输入流.如何更改输出的音量?

我正在使用此代码来播放它:

URL u = new URL(s);
URLConnection conn = u.openConnection();  
conn.setConnectTimeout(Searcher.timeoutms);  
conn.setReadTimeout(Searcher.timeoutms);

bitstream = new Bitstream(conn.getInputStream()/*new FileInputStream(quick_file)*/);
System.out.println(bitstream);
decoder = new Decoder();
decoder.setEqualizer(equalizer);
audio = FactoryRegistry.systemRegistry().createAudioDevice();
audio.open(decoder);
for(int i = quick_positions[0]; i > 0; i--){
    Header h = bitstream.readFrame();
    if (h == null){
        return;
    }
bitstream.closeFrame();
Run Code Online (Sandbox Code Playgroud)

java audio mp3 jlayer

6
推荐指数
2
解决办法
1万
查看次数

在JTable中显示对象ArrayList的内容的最简单方法是什么?

我有一个Track对象的ArrayList.每个Track对象都有以下字段(所有字符串):

网址,标题,创作者,专辑,流派,作曲家

我想在JTable中显示这些轨道,每行是Track对象的一个​​实例,每列包含一个Track对象的属性.

如何使用JTable显示此数据?我已经使用了一个正确实现getValueAt()方法的AbstractTableModel.不过,我在屏幕上看不到任何东西.

或者只是使用数组更容易?

jtable

4
推荐指数
1
解决办法
2万
查看次数

如何从其URL获取MP3的长度?

如果我知道MP3文件的URL,获取其长度,比特率,大小等的最简单/最快的方法是什么?

如何才能下载MP3的ID3标签部分以获取这些详细信息?

java url mp3 properties

3
推荐指数
1
解决办法
4407
查看次数

你如何反复调用Java中的线程?

我想要一个线程每500毫秒在后台执行一次.为此,我扩展了一个Thread,实现了ActionListener并将我扩展的类放入Timer中.Timer每500毫秒调用run().但是,当这个线程从Internet下载东西时,我的整个Swing GUI都会冻结.我希望它在后台运行,而不会在等待IO完成时冻结GUI.在我们等待500毫秒之前,我也是下载器完成下载.

调用gogogo()来初始化整个过程:

public final class Downloader extends Thread implements ActionListener
{
public static void gogogo()
{
    t= new Downloader();
    new Timer(500, (ActionListener) t).start();

}

public void run() 
{
    doStuff(); //the code that i want repeatedly called
}

public void actionPerformed(ActionEvent e) 
{
    run();
}
}
Run Code Online (Sandbox Code Playgroud)

java multithreading

3
推荐指数
1
解决办法
7960
查看次数

你如何用两粒种子种植PRNG?

对于我正在制作的游戏,太阳系有x和y坐标,我想使用坐标随机生成该太阳系的特征.最简单的方法是使用两个种子x和y坐标为随机数生成器播种.无论如何从两粒种子中获得一粒可靠的种子,还是有一种好的PRNG需要两粒种子才能长时间生长?

编辑:我知道这两个数字之间的二进制运算,但我试图找到导致最少数量冲突的方法?加法和乘法很容易导致碰撞.但是XOR怎么样?

random

3
推荐指数
1
解决办法
1650
查看次数

哪个二元运算符或函数导致最少的冲突?

假设我们有两个长,x和y.什么运营商或涉及x和y会产生另一个长,Z,这是最有可能等于应用相同的运算符或函数X和Y的不同的结果函数?

例如:增加将是一个糟糕的选择.1 + 4 = 5,但2 + 3也等于5.

编辑:让我解释为什么我问这个问题.我正在制作一个太空RPG游戏.游戏的环境(solarsystems)将从两个种子程序生成.这些种子由宇宙中系统的x和y坐标组成.所以玩家在冒险过程中很可能会遇到(500,501)和(501,500)系统.我需要一种方法来使这些太阳系产生独特.但是,我想确保尽可能多的坐标对会产生独特的种子.

编辑2:我测试了给我的两个解决方案.Accipitridae的答案远远优于Artelius的答案.以下是测试解决方案的代码:

HashSet<Long> set = new HashSet<Long>();

 for(int x=0; x<1000; x++)
  for(int y=0; y<1000; y++)
   //I commented out one of the solutions at a time
   set.add((long)(((x&0x7FFFFFFF) << 33) | ((y&0x7FFFFFFF) << 2) |   ((x>>>62) & 2) | (y>>>63)));//Artelius
   set.add((long)(x - y * 7046029254386353131l));//Accipitridae

 System.out.println(set.size());
Run Code Online (Sandbox Code Playgroud)

从HashSet的大小,我可以知道通过每种方法生成了多少独特的种子.对于这些参数,Artelius的解决方案产生了2048个独特的长度,而Accipitridae产生了1000000个,这意味着根本没有碰撞.

谢谢大家努力解决这个问题.:)

math

0
推荐指数
2
解决办法
508
查看次数