如何将字符串附加到已在Java中使用JFileChooser选择的文件中

时间:2012-11-14 19:12:59

标签: java jfilechooser

我正在编写一个有多个用户的程序,我希望每个用户能够使用他们选择的文件名保存文件,但是,还要将他们的用户名或相关密钥附加到文件名以帮助稍后搜索上。如何调整此代码才能这样做?

例如,用户“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);

1 个答案:

答案 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。