Java文件操作方法

以下代码转自:http://lionelxx777.iteye.com/blog/358128

Java进行文本文件操作的两种方法。

1.通常的做法是用FileInputStream和FileOutputStream来进行操作,以上两个类分别InputStream & OutputStream两个基类。

用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。
2.然后就是"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。
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");   
  }   
}  

 

例子二:

// 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");   
    }   
  }   
}  

 

例子三:

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

例子四:

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值