当前位置: 首页 > 知识库问答 >
问题:

如何使用JFileChooser保存txt文件?

壤驷安和
2023-03-14

给定此方法:

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();
}

忽略变量名,该方法所做的是将加密代码的数据写入名为EncryptedMessage的项目文件夹内生成的txt文件中。txt。

我需要的是一种方法来保存txt文件,而不是在项目文件夹中,保存在用户在运行期间指定的位置(打开另存为对话框)。我认为这可以由JFilechooser完成,但我无法让它工作。

共有2个答案

雷浩思
2023-03-14

像这样?

PrintWriter file = new PrintWriter(new File(filePathChosenByUser + "EncryptedMessage.txt"));
仲鸿风
2023-03-14

您可以添加一个单独的方法来获取保存位置,如下所示:

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;
   }
}

然后将结果用作重载文件构造函数的参数,该构造函数接受父/目录参数:

public void writeOutput(File saveLocation, BigInteger[] EncryptCodes)
                 throws FileNotFoundException {

   PrintWriter file = 
        new PrintWriter(new File(saveLocation, "EncryptedMessage.txt"));
   ...
}
 类似资料:
  • 问题内容: 我试图将联系人保存在表中,但filechosser始终将其设置为所有文件。有没有办法我可以将其设置为仅接受.txt并将其设置为默认值或唯一选项。 问题答案: 您需要添加一个过滤器:

  • 在我的程序中,我想让用户能够将一个文件保存到他们选择的目录中。在做了一点研究之后,我发现了这个名为JFileChooser的俏皮类。我想做的是允许用户通过JFileChooser GUI转到他们想要的目录,为他们的文件键入一个名称,并允许他们将他们的文件保存到想要的目录。我试着在网上寻找一个解决方案,如何做到这一点,但几乎在我读到的所有地方,最后的答案都是“现在你必须让你的程序保存文件”,但我不知

  • 问题内容: 我正在尝试简化某些GUI的保存和加载,我希望能够在保存时为用户预先填充一个文件名。 让JFileChooser指向一个方便的目录很容易,但是预填充名称似乎并不那么容易。目前,我的代码是: 实际上,这似乎起初是可行的:在JFileChooser中填充了文件名,但是当单击“保存”按钮时,选择器只是将文件查看模式切换到要保存的文件名的模式(如果您不了解,则只需试试看)。这可能是由于其指向的文

  • 好的,所以我已经制作了一个文本编辑器,到目前为止,它可以使用JFileChooser创建新文件和打开文件。 我正在努力做的是让文件的保存工作。每次添加或打开一些文件时,它都会向tabbedpane中添加一个新的选项卡,名称要么是文件1等,要么是打开的文件的名称。 另外,我如何使一个文件的当前选定标签textarea?我试过了,但不行: 所以我需要在textArea中创建一个字符串文件。

  • 问题内容: 有没有一种我可以用来简单地找到文件位置的方法?我正在尝试允许用户选择一个文件并打开它,但是我必须让JFileChooser仅选择该文件并将该位置发送到另一种方法。最好的方法是什么? 问题答案: javadoc show中的示例显示了执行此操作的步骤: 那是在做什么。取得结果并将其传递给另一种方法。

  • 我有一个powershell脚本,我用这种方式保存日志 在Python中如何使用它?