File file =new File(String pathname);只是在內存中創建了壹個File實例。pathname可以是路徑也可以是文件。然後調用file.createNewFile();才會創建文件。所以不是樓主是所說的ile has never been read。
而執行PrintWriter out = new PrintWriter(file);後發現創建了文件,這是由於PrintWriter構造方法執行機制所決定的,如果文件為空,則會自動掉用file的createNewFile()方法創建壹個文件(詳見api PrintWriter)。所以樓主又看到了所創建的文件。異常用try catch捕獲FileNotFoundException。
第二個問題:創建多級目錄要用file.mkdirs();妳那個只能創建壹級目錄。
我寫個例子 經過檢驗的 妳參考壹下 多級目錄的文件創建:
import java.io.*;
public class FileTest{
public File fileCreate(String fileFoder, String fileName){
File foder = new File(fileFoder);
File file = new File(fileFoder+fileName);
//如果文件夾不存在,則創建文件夾
if(foder.exists()==false){
foder.mkdirs();//多級目錄
//foder.mkdir();//只創建壹級目錄
}
//如果文件不存在,則創建文件
if(file.exists()==false){
try{
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
return file;
}
public static void main(String [] args){
FileTest fileTest= new FileTest();
String fileFoder="D://test1//test2";
String fileName="//test_io.txt";
File file= fileTest.fileCreate(fileFoder,fileName);
System.out.println(file.getPath());
}
}
至於文件讀寫的內容很多 給妳個參考的鏈接
/article/16396.htm