我有一些Java代码:
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
.
有人可以告诉我我在这里做错了什么吗?此外,如果您有更好的跨平台解决方案来显示保存文件对话框,请与我分享。