Java IO流

IO流:

流(Stream):源于UNIX中的管道(pipe)的概念。在unix中,管道是一条不间断的字节流,用来实现程序间的通信,或读写外围设备,外部文件等。

IO流分为字节流和字符流

字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节处理的。

字符流是由字符组成的,java里的字符由两个字节组成,所有的Reader和Witerd的子类都是字符流,主要用在处理文本内容或特定字符

字节流的常用类:

InputStream,OutputStream

字符流的常用类:

Reader,Writer

实现文件复制的步骤:

[java]  view plain  copy
  1. import java.io.FileInputStream;  
  2. import java.io.FileNotFoundException;  
  3. import java.io.FileOutputStream;  
  4. import java.io.IOException;  
  5.   
  6. public class Demo4 {  
  7. public static void main(String[] args) {  
  8.       
  9.     FileInputStream input = null;  
  10.     FileOutputStream output = null;  
  11.     int n =0;  
  12.     try {  
  13.         input = new FileInputStream("D://demo//demo.txt");  
  14.         output = new FileOutputStream("D://demo//demo1.txt");  
  15.           
  16.         do {  
  17.             try {  
  18.                 n = input.read();  
  19.                 output.write(n);  
  20.             } catch (IOException e) {  
  21.                   
  22.                 e.printStackTrace();  
  23.             }  
  24.         }while(n!=-1);  
  25.   
  26.       
  27.     } catch (FileNotFoundException e) {  
  28.           
  29.         e.printStackTrace();  
  30.     }finally {  
  31.         try {  
  32.             input.close();  
  33.         } catch (IOException e) {  
  34.             // TODO Auto-generated catch block  
  35.             e.printStackTrace();  
  36.         }  
  37.     }  
  38.   
  39.       
  40.       
  41. }  
  42. }  
使用字符流进行文件读写:
[java]  view plain  copy
  1. import java.io.BufferedWriter;  
  2. import java.io.FileWriter;  
  3. import java.io.IOException;  
  4.   
  5. public class Demo8 {  
  6. public static void main(String[] args) {  
  7.     BufferedWriter writer =null;  
  8.     try {  
  9.         writer = new BufferedWriter(new FileWriter("D://demo//demo1.txt",true));  
  10.         writer.newLine();  
  11.         writer.write("Hello");  
  12.         writer.newLine();  
  13.         writer.write("你好");  
  14.           
  15.         writer.flush();//冲刷缓冲区  
  16.           
  17.     } catch (IOException e) {  
  18.         // TODO Auto-generated catch block  
  19.         e.printStackTrace();  
  20.     }finally {  
  21.         try {  
  22.             writer.close();  
  23.         } catch (IOException e) {  
  24.             // TODO Auto-generated catch block  
  25.             e.printStackTrace();  
  26.         }  
  27.     }  
  28.   
  29. }  
  30. }  


你可能感兴趣的:(Java IO流)