JAVA中文件的读写处理

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

用FileInputStream  来读取数据的常用方法是:
FileInputStream  fstream  new  FileInputStream(args[0]);
DataInputStream  in  new  DataInputStream(fstream);
用  in.readLine()  来得到数据,然后用  in.close()  关闭输入流。
用FileOutputStream  来写入数据的常用方法是:
FileOutputStream  out  out  new  FileOutputStream("myfile.txt");       
PrintStream  new  PrintStream(  out  );
用  p.println()  来写入数据,然后用  p.close()  关闭输入。
代码如下:
  //  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  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");
    }
}


//  FileOutputDemo
//  Demonstration  of  FileOutputStream  and  PrintStream  classes
import  java.io.*;

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

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

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()  关闭文件。

用  FileWriter  来写入文件的常用方法是:
FileWriter  fw  new  FileWriter("mydata.txt");
PrintWriter  out  new  PrintWriter(fw);   
在用out.print  或  out.println  来往文件中写入数据,out.print  和  out.println的唯一区别是后者写
入数据或会自动开一新行。写完后要记得  用out.close()  关闭输出,用fw.close()  关闭文件。     

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

class  FileReadTest           
    public  static  void  main  (String[]  args)  {
        FileReadTest  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();
          }

   
     

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

class  FileWriteTest           
    public  static  void  main  (String[]  args)  {
        FileWriteTest  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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值