欢迎光临
我们一直在努力

Java 中对文件的读写操作之比较-JSP教程,Java基础

建站超值云服务器,限时71元/月

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

作者:jeru liu
日期:november 29,2000
版本:1.0

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();
     }
}
  
}    

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Java 中对文件的读写操作之比较-JSP教程,Java基础
分享到: 更多 (0)