如何将我刚创建的文件保存在我想要的文件夹中?

时间:2015-07-05 21:52:31

标签: java file path jfilechooser

所以我有这个代码,我可以在其中创建一个新文件并在其中写入“head.txt”,无论如何我试图让btnNewButton打开一个JFileChooser,在那里你可以选择你想要保存的文件夹新文件。但它不会工作。 这是我的代码:

    public void actionPerformed(ActionEvent arg0) {
            File filenew = new File (".");
            try {   
            String Src = "head.txt";
            JFileChooser chooser = new JFileChooser();
             chooser.setAcceptAllFileFilterUsed(false);
             String choosertitle = "nini";

             int result = chooser.showOpenDialog(null);
             chooser.setCurrentDirectory(new java.io.File("."));
                chooser.setDialogTitle(choosertitle);
                chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                File selectedfile ; 
if (result == JFileChooser.APPROVE_OPTION) {
                   selectedfile =  chooser.getSelectedFile();

        String dest = selectedfile + File.separator + textField.getText()+".html";          
        File fileold = new File (Src); 
            FileInputStream fileinstr = new FileInputStream(fileold);
            BufferedReader br = new BufferedReader(new InputStreamReader(fileinstr));
            FileWriter fw = new FileWriter (dest , true);
            BufferedWriter out = new BufferedWriter(fw);
            String aLine = null; 
                    while ((aLine = br.readLine())!=null){

                        out.write(aLine);
                        out.newLine();

                    }
            br.close ();
            out.close();
}

    }catch (IOException e){
        e.printStackTrace();
    }

        }

这是我的第一个代码,我可以在我的工作区中创建文件:

try {   File filenew = new File (".");
        String Src = "head.txt";
        String dest = filenew.getCanonicalPath() + File.separator + textField.getText()+".html";
        File fileold = new File (Src); 
        FileInputStream fileinstr = new FileInputStream(fileold);
        BufferedReader br = new BufferedReader(new InputStreamReader(fileinstr));
        FileWriter fw = new FileWriter (dest , true);
        BufferedWriter out = new BufferedWriter(fw);
        String aLine = null; 
                while ((aLine = br.readLine())!=null){

                    out.write(aLine);
                    out.newLine();
                }
        br.close ();
        out.close();


}catch (IOException e){
    e.printStackTrace();
}

1 个答案:

答案 0 :(得分:2)

在设置属性之前打开了对话框:

int result = chooser.showOpenDialog(null);
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

它应该是:

chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int result = chooser.showOpenDialog(null);