-2
如下所示修改MP3文件会导致内存不足错误。反正我有可以更有效地做下面的操作(即使用较少的内存)如何在不增加JVM的情况下处理堆空间?
public void BacaMP3(){
String a = System.getProperty("user.dir") + "/src/MP3/21.waltz-cut.mp3";
String bitMP3="";
try {
File song = new File(a);
FileInputStream file = new FileInputStream(song);
int input = 0;
System.out.println("Creating file ...");
while (input != -1) {
input = file.read();
count++;
if (input==-1)bitMP3="#";
else{
bitMP3 = Integer.toBinaryString(input);
while(bitMP3.length()<8){
bitMP3="0"+bitMP3;
}
}
area1.append(bitMP3+"\n");
}
System.out.println(count);
file.close();
System.out.println("Done");
} catch (Exception e) {
System.out.println("Error  " + e.toString());
}
}
什么是你真正想干什么?你为什么想做这个? –
您的问题需要重新解释,以便我们理解问题。你的意思是你在执行上述程序时内存不足了吗?如果是这样,你正在使用的最小/最大堆以及mps文件有多大。在sidenode上,你在你的程序中使用String作为bitMP3,使用StringBuffer代替 – Chandra
我想要做MP3处理,我想在MP3中改变一下....但是当我这样做的时候......我的内存正在运行out ..我尝试增加JVM,但它仍然不够。 – haidey