2017-10-16 102 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(); 
    } 
} 
相關問題