Изменение файла 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..i пытаюсь увеличить JVM, но его все еще недостаточно. – haidey