-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