文件IO流

文件IO流
1.FileInputStream:文件字节输入流 
2.FileOutPutStream:文件字节输出流
3.FileReader:文件字符输入流
4.FileWriter:文件字符输出流

package file;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import org.junit.Test;

/*
 1.IO步骤:
(1)选取合适的IO流类型
  读取文件:FileInputStream,FileReader
(2)调用合适的方法
   读操作:read系列
   写操作:write系列
 (3)关闭IO流
 
 
InputStream系列的读方法:
(1)int read:一次读取一个字节,返回的是读字节的值
(2)int read(byte[] data):一次读取多个字节,返回本次实际读取字节的个数
        把数据读取到后,存到data中,从data[0]开始存储,data有多长,就读多少个,如果不够,就全部读取
(3)int read(byte[] data,int offset,int len),一次读取多个字节,
     把数据读取到后,存到data中,从data[offset]开始存储,最多读取len个,如果不够,就全部读取
     
 如果流中没有数据,read方法返回-1
 
 
 Reader系列读方法
 (1)int read()
 (2)int read(char[] data)
 (3)int read(char[] data,int offset,int len)
 
 */

public class test04 {
    
    
    
    @Test    
    public void test5() throws IOException {
        //1.创建IO流
        FileReader fr = new FileReader("E:/java/read.txt");
        
        //2.进行读操作
        char [] data=new char[10];
        //如果data数组无法装下文件的所有内容,可以用循环反复读
        int len;
        while((len=fr.read(data))!=-1) {
            System.out.print(new String(data,0,len));
        }
                
        //3.关闭
        fr.close();
    }
    
    
    @Test    
    public void test4() throws IOException {
        //1.创建IO流
        FileInputStream fis = new FileInputStream("E:/java/read.txt");
        
        //2.进行读操作
        byte[] data=new byte[10];
        //如果data数组无法装下文件的所有内容,可以用循环反复读
        int len;
        while((len=fis.read(data))!=-1) {
            System.out.print(new String(data,0,len));
        }
                
        //3.关闭
        fis.close();
    }
    
    
    @Test    
    public void test3() throws IOException {
        //1.创建IO流
        FileInputStream fis = new FileInputStream("E:/java/read.txt");
        
        //2.进行读操作
        byte[] data=new byte[10];
        //如果data数组无法装下文件的所有内容,可以用循环反复读
        int len;
        while(true) {
            len=fis.read(data);
            if(len==-1) {
                break;
            }
            String string=new String(data,0,len);
            System.out.print(string);
            
        }
                
        //3.关闭
        fis.close();
    }
    
    
    @Test
    public void test2() throws IOException {
        //1.创建IO流
        FileInputStream fis = new FileInputStream("E:/java/read.txt");
        
        //2.进行读操作
        //读取特定长度的数据
        byte[] data=new byte[10];
        int len = fis.read(data);//从fis流中读取,到data数组中去
        System.out.println(len);//10
        
        //String string = new String(data);
        String string=new String(data,0,len);
        System.out.println(string);//Centrality
        
        
        //3.关闭
        fis.close();
    }
    
    
    
    @Test
    //FileNotFoundException是IOException的子类
    public void test1() throws IOException {
        //1.创建IO流
        FileInputStream fis = new FileInputStream("E:/java/read.txt");
        
        //2.进行读操作
        int read = fis.read();
        System.out.println(read);//67
        
        
        //3.关闭
        fis.close();
    }

}

 

posted on 2020-06-05 15:54  happygril3  阅读(181)  评论(0)    收藏  举报

导航