後返回不正確的文件名,我有一些Java代碼:的Java的GetFile使用SetFile
public static String getSaveFilePath(String title2)
{
FileDialog fd = new FileDialog(new Frame(), "Save As...", 1);
fd.setFilenameFilter(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".mp3");
}
});
fd.setFile(title2 + ".mp3");
fd.setVisible(true);
String str3 = fd.getFile();
String str4 = fd.getDirectory();
if (str4 == null) return null;
str3 = str3.replace(".mp3", "");
str3 = str3 + ".mp3";
String str5 = str3;
File localFile = new File(str4, str5);
return localFile.getPath();
}
問題是,當我使用setFile()
到文件名設置爲
NBA - In the Zone P.L. (Video by JESSExAKAxViCiOUS)
中所示的對話框之前,和當顯示對話框時,我將文件保存爲abc.mp3
,我再次使用getFile()
,我得到SExAKAxViCiOUS).mp3
- 因爲它應該返回我選擇要保存的文件的名稱,abc.mp3
。
有人能告訴我我在做什麼錯嗎?另外,如果您有更好的跨平臺解決方案來顯示保存文件對話框,請與我分享。
*「此外,如果你有更好的跨平臺解決方案,以顯示保存文件對話框,請分享和我一起。「* JFileChooser' Swing的一部分。奇怪的是,您添加了Swing標籤,但使用了基於AWT的組件。 – 2013-02-20 05:11:17
@AndrewThompson但JFileChooser將不具備OS的本質外觀。 – user2080083 2013-02-20 05:12:59
@ user2080083您使用的是什麼樣的外觀和感覺?系統的外觀和感覺,跨平臺的外觀和感覺還是別的? – MadProgrammer 2013-02-20 05:19:32