0

複数のユーザーがいるプログラムを作成しています。各ユーザーが選択したファイル名でファイルを保存できるようにしたいのですが、後で検索するのに役立つように、ファイル名にユーザー名または関連キーを追加することもできます。このコードを調整するにはどうすればよいですか?

たとえば、ユーザー「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);
4

1 に答える 1

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 は必要ありません。

于 2012-11-14T19:31:43.790 に答える