我正在编写一个有多个用户的程序,我希望每个用户能够使用他们选择的文件名保存文件,但是,还要将他们的用户名或相关密钥附加到文件名以帮助稍后搜索上。如何调整此代码才能这样做?
例如,用户“bob”想要将文件另存为“aFile.html”。我想要实际保存的文件是“aFile_bob.html”
String user = "bob";
// select a file to save output
JFileChooser JfileChooser = new JFileChooser(new File(defaultDirectory));
JfileChooser.setSelectedFile(new File("TestFile.html"));
int i = JfileChooser.showSaveDialog(null);
if (i != JFileChooser.APPROVE_OPTION) return;
File saveFile = JfileChooser.getSelectedFile();
// somehow append "user" to saveFile name here?
FileOutputStream fop = new FileOutputStream(saveFile);
答案 0 :(得分:1)
使用renameTo
方法,如下所示:
int lastDot = saveFile.getName().lastIndexOf('.');
String name = saveFile.getName();
String ext = ""; // Might not have a file extension
if(lastDot > 0) { // At least one dot
// Take substring of the last occurrence
ext = saveFile.getName().substring(lastDot);
name = name.substring(0, lastDot);
}
saveFile.renameTo(new File(defaultDirectory + "/" + name + "_" + user + ext));
使用此方法,您不需要FileOutputStream。