Java 创建文件并将其保存到动态存储器中

Java 创建文件并将其保存到动态存储器中,java,swing,user-interface,awt,jfilechooser,Java,Swing,User Interface,Awt,Jfilechooser,我创建的文件如下所示: PrintWriter out=新的PrintWriter( 新FileOutputStream( 新文件(“C:/Users/../Desktop/Server Recipe Log.txt”), 是的); out.println(“服务器文本”); out.close(); 但是我不想在桌面上保存文件-我想打开“另存为”对话框来选择保存文件的位置 我尝试了一些关于框架的教程,但我不想创建任何框架,我想使用本机系统对话框 …要使用本机系统对话框 你使用了错误的语言。最

我创建的文件如下所示:

PrintWriter out=新的PrintWriter(
新FileOutputStream(
新文件(“C:/Users/../Desktop/Server Recipe Log.txt”),
是的);
out.println(“服务器文本”);
out.close();
但是我不想在桌面上保存文件-我想打开“另存为”对话框来选择保存文件的位置

我尝试了一些关于框架的教程,但我不想创建任何框架,我想使用本机系统对话框

…要使用本机系统对话框

你使用了错误的语言。最接近Java的是使用本机PLAF的
Java.awt.FileDialog
javax.swing.JFileChooser

例如。 …要使用本机系统对话框

你使用了错误的语言。最接近Java的是使用本机PLAF的
Java.awt.FileDialog
javax.swing.JFileChooser

例如。
实际上,这一个doc:将帮助您。“我想使用nativ系统对话框。”您使用了错误的语言。最接近Java的是使用本机PLAF的
Java.awt.FileDialog
javax.swing.JFileChooser
。您可以让用户在控制台中输入路径,但这太繁琐且容易出错。实际上,这一个doc:将帮助您。“我想使用本机系统对话框。”您使用的语言不正确。Java提供的最接近本机PLAF的是
Java.awt.FileDialog
javax.swing.JFileChooser
。您可以让用户在控制台中输入路径,但这太繁琐且容易出错。
import java.awt.*;
import javax.swing.*;

class FileDialogs {

    public static void main(String[] args) {
        Runnable r = new Runnable() {

            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (Exception useDefault) {
                }
                FileDialog fd = new FileDialog((Frame)null);
                fd.setVisible(true);
                
                JFileChooser fc = new JFileChooser();
                fc.showSaveDialog(null);
            }
        };
        // Swing GUIs should be created and updated on the EDT
        // http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html
        SwingUtilities.invokeLater(r);
    }
}
JFileChooser jl = new JFileChooser();
jl.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int save = jl.showSaveDialog(null);
if (JFileChooser.APPROVE_OPTION == save){
PrintWriter out = new PrintWriter(
                 new FileOutputStream(
                  new File(jl.getSelectedFile().getAbsolutePath()+"/name.txt"), 
                  true));
         out.println("serverText");
         out.close();
}