我從JTextArea
這樣的文字:儲蓄從一定JTextArea的文本文件中使用的JFileChooser
Getting all .mp3 files in C:\Users\Admin\Music including those in subdirectories
C:\Users\Admin\Music\Sample Music\Kalimba.mp3
C:\Users\Admin\Music\Sample Music\Maid with the Flaxen Hair.mp3
C:\Users\Admin\Music\Sample Music\Sleep Away.mp3
Finished Searching...
我想只保存這部分:
C:\Users\Admin\Music\Sample Music\Kalimba.mp3
C:\Users\Admin\Music\Sample Music\Maid with the Flaxen Hair.mp3
C:\Users\Admin\Music\Sample Music\Sleep Away.mp3
可惜我不能用下面的代碼:
JFileChooser saveFile = new JFileChooser("./");
int returnVal = saveFile.showSaveDialog(this);
File file = saveFile.getSelectedFile();
BufferedWriter writer = null;
if (returnVal == JFileChooser.APPROVE_OPTION)
{
try {
writer = new BufferedWriter(new FileWriter(file.getAbsolutePath()+".txt")); // txt for now but needs to be m3u
searchMP3Results.write(writer); // using JTextArea built-in writer
writer.close();
JOptionPane.showMessageDialog(this, "Search results have been saved!",
"Success", JOptionPane.INFORMATION_MESSAGE);
}
catch (IOException e) {
JOptionPane.showMessageDialog(this, "An error has occured",
"Failed", JOptionPane.INFORMATION_MESSAGE);
}
}
通過上面的代碼,這樣可以節省一切從JTextArea
。你可以幫我嗎?
P.S.如果可能,我想將它保存爲M3U播放列表。
我建議在C:\ Users \ Admin \ Music中包含'JLabel'中的所有.mp3文件,包括子目錄中的所有.mp3文件。但請注意,文件列表不是M3U文件(AFAIU)。您可能有足夠的軟件將文件列表視爲M3U文件,但這並不是一個有效的M3U文件。例如。一個M3U文件必須以'#EXTM3U'的第一行開始,而像'#EXTINF:270,10CC - Dreadlock Holiday'這樣的行是可選的,但非常有用。 –
我可以只使用indexOf()來獲得某些部分,然後手動添加其餘部分,即#EXTINF等? – Darwish
那麼,除非使用'Writer',否則當然你不會使用第二個不可見的文本區域,將M3U格式的數據轉儲到它,然後用它來寫入數據。順便說一句 - 我依稀記得一個M3U應該是一個特定的編碼。確保'FileWriter'解決了這個問題。 –