JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--文件操作  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
Java中对文件的读写操作之比较
作者:Unkown     文章来源:java-cn.com
访问次数:4490次     加入时间:2004年06月03日
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(); 






Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号