Java中对文件的读写操作之比较

文章作者 100test 发表时间 2007:09:11 11:44:26
来源 100Test.Com百考试题网


Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行
一次分析,归类,理清不同方法之间的异同点。

一.在 JDK 1.0 中,通常是用 InputStream &. OutputStream 这两个基类来进行读写操作的。
InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在
OutputStream 中我们有 FileOutputStream 这个对象。

用FileInputStream 来读取数据的常用方法是:
FileInputStream fstream = new FileInputStream(args[0]).
DataInputStream in = new DataInputStream(fstream).
用 in.readLine() 来得到数据,然后用 in.close() 关闭输入流。
完整代码见 Example 1。

用FileOutputStream 来写入数据的常用方法是:
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 来读取文件的常用方法是:
FileReader fr = new FileReader("mydata.txt").
BufferedReader br = new BufferedReader(fr).
用 br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。
完整代码见 Example 3。

用 FileWriter 来写入文件的常用方法是:
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。

-------------------------------------------------------------- following is the source code of examples------------------------------------------------------

Example 1:
// FileInputDemo
// Demonstrates FileInputStream and DataInputStream
import java.io.*.

class FileInputDemo {
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").
}
}

Example 2:
// FileOutputDemo
// Demonstration of FileOutputStream and PrintStream classes
import java.io.*.

相关文章


页面自动刷新,不用按回车键来提交数据
javamail在j 中调用
怎样设置J 的虚拟目录
Java中对文件的读写操作之比较
如何防止IE缓存j 文件
无边框窗口代码详解
J 实现浏览器关闭cookies情况下的会话管理
浅谈4种类型的JDBC驱动程序
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛