您的位置:首页网页设计JSP技巧 → Java 中对文件的读写操作之比较

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

时间:2004/11/7 3:36:00来源:本站整理作者:蓝点我要评论(0)

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



作者:Jeru Liu

日期:November 29,2000

版本:1.0



纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分好难呀,555~~~,不知道那些几千分的老妖们是怎么灌水的。



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

     }

}

  

}    


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 没有查询到任何记录。 java排序集锦源码Spring技术内幕jsp运行时我们常遇到的几个问题?NteBeans下JSP连接MySQL示例

人气排行 Java语言中内存泄漏及如何检测问题详解JSP中errorPage设置方法在JSP页面中实现检索数据的分页显示JAVA实现屏幕抓图 远程桌面控制用JSP下载word文件(不会直接用IE打开)如何直接在浏览器内运行SQL命令无边框窗口代码详解Spring技术内幕