WEB开发网
开发学院WEB开发Jsp Java中对文件的读写操作之比较 阅读

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

 2008-01-05 09:27:15 来源:WEB开发网   
核心提示:java 中对文件的读写操作之比较 Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,Java中对文件的读写操作之比较,我觉得有必要将各种方法进行 一次分析,归类,写完后要记得 用out.close() 关闭输出,用fw.close() 关闭文件,理清不同方法之间的异同点, 一.在 JDK 1.0 中

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

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.*; 

class FileOutputDemo 

public static void main(String args[]) { 
FileOutputStream out; // declare a file output object 
PrintStream p; // declare a print stream object 

try { 
// connected to "myfile.txt" 
out = new FileOutputStream("myfile.txt"); 
// Connect print stream to the output stream 
p = new PrintStream( out ); 
p.println ("This is written to a file"); 
p.close(); 
} catch (Exception e) { 
System.err.println ("Error writing to file"); 




Example 3: 
// FileReadTest.java 
// User FileReader in JDK1.1 to read a file 
import java.io.*; 

class FileReadTest { 
public static void main (String[] args) { 
FileReadTest t = new FileReadTest(); 
t.readMyFile(); 


void readMyFile() { 
String record = null; 
int recCount = 0; 
try { 
FileReader fr = new FileReader("mydata.txt"); 
BufferedReader br = new BufferedReader(fr); 
record = new String(); 
while ((record = br.readLine()) != null) { 
recCount++; 
System.out.println(recCount + ": " + record); 

br.close(); 
fr.close(); 
} catch (IOException e) { 
System.out.println("Uh oh, got an IOException error!"); 
e.printStackTrace(); 





Example 4: 
// FileWriteTest.java 
// User FileWriter in JDK1.1 to writer a file 
import java.io.*; 

class FileWriteTest { 
public static void main (String[] args) { 
FileWriteTest t = new FileWriteTest(); 
t.WriteMyFile(); 


void WriteMyFile() { 
try { 
FileWriter fw = new FileWriter("mydata.txt"); 
PrintWriter out = new PrintWriter(fw); 
out.print(“hi,this will be wirte into the file!”); 
out.close(); 
fw.close(); 
} catch (IOException e) { 
System.out.println("Uh oh, got an IOException error!"); 
e.printStackTrace(); 




Tags:Java 文件 读写

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接