java的i/o恐怕是java體系里最復雜的內容之一了,有時候這個之一可以去了。不像c語言一個fopen()就可以解決一大堆問題。到了java
呢,又是stream又是reader,讀一個文件的方式不下十種,造成很多人因此而放棄了java,當初剛學java的時候班里很多人都對java有很
高的熱情,可到了現在,不知道還有多少人堅持下來了。具有諷刺意味的事java
i/o的設計者的初衷是讓i/o變得簡單一點,哪知道若干年后,弄出這么一大攤子來?,F在又加了一個nio----就是newio,不知道日后還會弄出什
么東西來。
用i/o可以解決文件,網絡通訊等幾乎所io問題。功能強大,唯一的缺點就是復雜。但仔細一分析,還是有門路可走的。整個io體系主要分為兩大門派。一派
為流類也就是用于字節的InputStream和OutputStream,另一派為用于字符的Reader和Writer派(簡稱rw派)。認清了這兩
派就知道*Stream的東東全都是流派的,不是繼承而來就是通過實現接口而來。如此,*Reader,*Writer那就是出身于rw派了。還有一個
File派來處理文件創建,刪除,修改,屬性問題。對文件的內容進行操作不是他的工作。搞清楚這兩大派一小派那么解決io指日可待。
那么說了這么多怎么創建文件呢?舉例說明(主函數就不寫了)
File newfile = new File("text.txt");
newfile.createNewFile();
這樣就在同一個文件夾下創建了一個名為text.txt的文本文件,那枚怎么刪除呢?
File newfile = new File("text.txt");
newfile.delete();
這樣就把這個文件刪除了。是不是很簡單呢。那么怎么把文件寫入這個文本文件呢?
File writetext = new File("text.txt");
[readtext.createNewFile();]//可有可無,因為文件不存在的話,會自動創建
FileWriter fw = new FileWriter(writetext);//就像創建打印機
PrintWriter pw = new PrintWriter(fw);//這個呢打印針頭了。
pw.println("this is a new file for
read");//這個是說,把這些東西給我寫進去吧
fw.close();//然后關閉打印機
有點復雜,當懂了以后,也就感覺不到什么了,那么如何讀取這個文本文件呢?
File readtext = new File("text.txt");
FileReader fr = new FileReaer(readtext);//創建一個掃描儀
BufferedReader br = new
BufferedReader(fr);//這是掃描儀內的緩存
String content =
br.readLine(); //讀一行文本
用熟練了之后可以這么寫:
BufferedReader in = new BufferedReader(new
FileReader("text.txt");
String content="";
while((content=in.readLine())!=null){
System.out.println(content);//讀一行輸出一行
}
posted on 2006-12-04 13:27
wqwqwqwqwq 閱讀(367)
評論(0) 編輯 收藏 所屬分類:
Simple Java