I/O
Java 對文件進行讀寫操作的例子很多,讓初學者感到十分困惑,我覺得有必要將各種方法進行 一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 這兩個基類來進行讀寫操作的。 用FileInputStream 來讀取數據的常用方法是: 用FileOutputStream 來寫入數據的常用方法是: 用FileReader 來讀取文件的常用方法是: 用 FileWriter 來寫入文件的常用方法是: -------------------------------------------------------------- following is the source code of examples------------------------------------------------------ Example 1: class FileInputDemo { Example 2:Java中對文件的讀寫操作之比較</td></tr> </tbody></table></span>
一次分析,歸類,理清不同方法之間的異同點。
InputStream 中的 FileInputStream 類似一個文件句柄,通過它來對文件進行操作,類似的,在
OutputStream 中我們有 FileOutputStream 這個對象。
FileInputStream fstream = new FileInputStream(args[0]);
DataInputStream in = new DataInputStream(fstream);
用 in.readLine() 來得到數據,然后用 in.close() 關閉輸入流。
完整代碼見 Example 1。
FileOutputStream out out = new FileOutputStream("myfile.txt");
PrintStream p = new PrintStream( out );
用 p.println() 來寫入數據,然后用 p.close() 關閉輸入。
完整代碼見 Example 2。
二.在 JDK 1.1中,支持兩個新的對象 Reader & Writer, 它們只能用來對文本文件進行操作,而
JDK1.1中的 InputStream & OutputStream 可以對文本文件或二進制文件進行操作。
FileReader fr = new FileReader("mydata.txt");
BufferedReader br = new BufferedReader(fr);
用 br.readLing() 來讀出數據,然后用br.close() 關閉緩存,用fr.close() 關閉文件。
完整代碼見 Example 3。
FileWriter fw = new FileWriter("mydata.txt");
PrintWriter out = new PrintWriter(fw);
在用out.print 或 out.println 來往文件中寫入數據,out.print 和 out.println的唯一區別是后者寫
入數據或會自動開一新行。寫完后要記得 用out.close() 關閉輸出,用fw.close() 關閉文件。
完整代碼見 Example 4。
// FileInputDemo
// Demonstrates FileInputStream and DataInputStream
import java.io.*;
public static void main(String args[]) {
// args.length is equivalent to argc in C
if (args.length == 1) {
try {
// Open the file that is the first command line parameter
FileInputStream fstream = new FileInputStream(args[0]);
// Convert our input stream to a DataInputStream
DataInputStream in = new DataInputStream(fstream);
// Continue to read lines while there are still some left to read
while (in.available() !=0) {
// Print file line to screen
System.out.println (in.readLine());
}
in.close();
} catch (Exception e) {
System.err.println("File input error");
}
}
else
System.out.println("Invalid parameters");
}
}
// FileOutputDemo
// Demonstration of FileOutputStream and PrintStream classes
import java.io.*;推薦閱讀
Lustre I/O性能特點與最佳實踐
卸載Oracle 9i