0

メモ帳と同じようにJavaでプログラムを作成しています。だから私は節約しました、そしてそれはうまくいきます、これは例えばコードです

BufferedWriter writer = null;
                    try {
                        writer = new BufferedWriter(new FileWriter(link.getText()));
                        writer.write(display.getText());
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    } finally {
                        try {
                            if (null != writer) {
                                writer.close();
                            }
                        } catch (Exception e1) {
                            e1.printStackTrace();
                        }
                    }

とにかく、これが何をするかは、コードで見ることができませんが、JTextField を持つ JFrame と JTextField にリンクを配置する JButton を作成します (例: C:\Users\Noah\Desktop\ text.txt) に保存され、保存を押すと保存されます。しかし、私はこれを JFileChooser で行いたいと思っています。誰かが私を助けることができますか?

編集:

解決:

JFileChooser fc = new JFileChooser("C:\\Users");
fc.showSaveDialog(frame); // frame is the JFrame (window)
BufferedWriter writer = null;
                try {
                    writer = new BufferedWriter(new FileWriter(fc.getSelectedFile().getPath()));
                    writer.write(display.getText());
                } catch (Exception e1) {
                    e1.printStackTrace();
                } finally {
                    try {
                        if (null != writer) {
                            writer.close();
                        }
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                }

これを投稿した後、私はこの方法を理解しました

4

1 に答える 1

1

Google には多くの例があります。とにかく、ここに xml ファイルを保存するコードのスニペットをいくつか示します。

    public void SaveMe(){

    //Configure fileChooser
    JFileChooser fc = new JFileChooser(lastOpenDir); // after 1st save store path to "lastOpenDir"

    fc.setFileSelectionMode(JFileChooser.FILES_ONLY);

    fc.setDialogTitle("Save only XML");


    fc.removeChoosableFileFilter(fc.getFileFilter());  //remove the default file filter

    FileFilter filter = new FileNameExtensionFilter("XML file", "xml");

    fc.addChoosableFileFilter(filter); //add XML file filter

    //show dialog
    int returnVal = fc.showSaveDialog(appFrame);

    if(returnVal == JFileChooser.APPROVE_OPTION){

        File selectedDir = fc.getSelectedFile();

        lastOpenDir=fc.getSelectedFile().getParent();

        lastOpenFile = fc.getSelectedFile().getName();

        if(selectedDir.isFile()){

            String errorString = selectedDir.getPath()+" already exists.\nDo you want to replace it?"; 

            Object[] options = {"Yes", "No"};

            int n = JOptionPane.
                    showOptionDialog(
                            null,
                            errorString,
                            "Override",
                            JOptionPane.YES_NO_OPTION,
                            JOptionPane.QUESTION_MESSAGE,
                            null,
                            options,
                            options[0]
                            );

            if (n == JOptionPane.YES_OPTION){

                if(fc.getFileFilter().getDescription().equals("XML file")){

                    // save selectedDir.getPath() 


                }
            } 
于 2013-09-29T18:53:56.933 に答える