[英]How to save a txt file using JFileChooser?
給定此方法:
public void OutputWrite (BigInteger[] EncryptCodes) throws FileNotFoundException{
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.showSaveDialog(null);
String path = chooser.getSelectedFile().getAbsolutePath();
PrintWriter file = new PrintWriter(new File(path+"EncryptedMessage.txt"));
for (int i = 0; i <EncryptCodes.length; i++) {
file.write(EncryptCodes[i]+ " \r\n");
}
file.close();
}
忽略變量名,此方法的作用是將EncryptCodes
數據寫入在名為EncryptedMessage.txt
的項目文件夾內生成的txt文件中。
我需要的是一種保存該txt文件而不是保存在項目文件夾中的方法,以將其保存在用戶在運行期間指定的位置(打開“另存為”對話框)。 我認為可以通過JFilechooser完成,但是我無法使其正常工作。
您可以添加一個單獨的方法來獲取保存位置,如下所示:
private File getSaveLocation() {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int result = chooser.showSaveDialog(this);
if (result == chooser.APPROVE_OPTION) {
return chooser.getSelectedFile();
} else {
return null;
}
}
然后將結果用作帶有父/目錄參數的重載File
構造函數的參數:
public void writeOutput(File saveLocation, BigInteger[] EncryptCodes)
throws FileNotFoundException {
PrintWriter file =
new PrintWriter(new File(saveLocation, "EncryptedMessage.txt"));
...
}
像這樣?
PrintWriter file = new PrintWriter(new File(filePathChosenByUser + "EncryptedMessage.txt"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.