2017-10-16 105 views
-1

我是新的Java和我仍然尝试学习,但我有这个任务的一个小问题..所以,我必须打开一个对话框,选择一个文件夹已经存在,我必须在这个文件夹内创建一个文件!我已经编写代码来选择文件夹,但现在我必须创建该文件。我发现了一些方法来做到这一点,但我只是从文件夹以外的文件!这是我写到目前为止:在现有的文件夹中创建一个文件-java

JFileChooser folderChooser = new JFileChooser(); 
    folderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
    int user = folderChooser.showSaveDialog(null); 
    if (user == JFileChooser.APPROVE_OPTION) { 
    File folder = folderChooser.getSelectedFile(); 

    File f = new File("test.txt"); 
    f.createNewFile(); 

有人可以帮助我吗?

+2

您需要在文件名之前添加路径,因为它不知道所选路径并将在当前应用程序路径上创建该路径。 – CodeMatrix

回答

1
File f = new File(folder, "test.txt"); 
f.createNewFile(); 
1

只需将选定的路径添加到您要创建的文件。如果你不添加它将使用当前的应用程序路径,而不是你想要的。

那么试试这个

File file = new File(folder, "test.txt"); 
... //Whatever you want to do here with it. 
+0

非常感谢您的帮助! :) – iro

0

提供选择的目录路径,否则它会创建当前应用程序路径。

JFileChooser folderChooser = new JFileChooser(); 
folderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
int user = folderChooser.showSaveDialog(null); 
if (user == JFileChooser.APPROVE_OPTION) { 
File folder = folderChooser.getSelectedFile(); 

File f = new File(folder,"test.txt"); 
f.createNewFile(); 
+0

好吧,我很亲密:P非常感谢你的帮助! – iro

0

下面的程序将创建一个文本文件并写入文字。认为这将有助于某人

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStreamWriter; 
import java.io.Writer; 

public class WriterFile { 
    public void writing() { 
     try { 
      //Whatever the file path is. 
      File statText = new File("statsTest.txt"); 
      FileOutputStream is = new FileOutputStream(statText); 
      OutputStreamWriter osw = new OutputStreamWriter(is);  
      Writer w = new BufferedWriter(osw); 
      w.write("Write to file !!!!"); 
      w.close(); 
     } catch (IOException e) { 
      System.err.println("Something went wrong !!!"); 
     } 
    } 

    public static void main(String[]args) { 
     WriterFile write = new WriterFile(); 
     write.writing(); 
    } 
} 
相关问题