자바 가 I/O 흐름 을 사용 하여 파일 내용 을 읽 는 방법 에 대한 상세 한 설명

이 사례 는 자바 가 I/O 흐름 을 사용 하여 파일 내용 을 읽 는 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.

I/O 흐름 을 이용 하여 파일 내용 을 읽 으 려 면 먼저 InputStream 의 체계 구 조 를 파악 해 야 한다.

이 시스템 에 서 는 FileInputStream 과 BufferedInputStream 을 반드시 파악 해 야 합 니 다.사용 빈도 가 높 기 때 문 입 니 다.
InputStream 방법:InputStream 은 자바.io 패키지 에 있 습 니 다.

OutputStream 방법:

파일 읽 기(코드):

package com.jredu.oopch11;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/**
 * I/O    :             ,           。
 *    :               
 *    :                
 * @author Administrator
 *
 */
public class Ch01 {
    /**
     *       
     * @param args
     */
    public static void main(String[] args) {
        //InputStream:      
        // \:       
        //             :1、\\  2、/
        try {
            //              
            //1、    
            InputStream is = new FileInputStream("E:/iodemo/ch01.txt");
            //2、      
            /*
            //  1:      
            System.out.println(is.read());//        :49
            System.out.println((byte)is.read());//50
      */    
            //  2:    ,    
            //             
            byte[] b = new byte[5];//               
            //    int          
            int i = 0;
            //           
            int index = 0;
            //        
            while((i=is.read())!=-1){//        i 
                b[index]=(byte) i;
                index++;
            }
            //          
            System.out.println(new String(b));
            //   
            is.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            //         :      
            e.printStackTrace();
        } catch (IOException e) {
            //      
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
/**
 * I/O    :             ,           。
 *    :               
 *    :                
 * @author Administrator
 *
 */
public class Ch02 {
    /**
     *       
     * @param args
     */
    public static void main(String[] args) {
        //InputStream:      
        // \:       
        //             :1、\\  2、/
        try {
            //              
            //1、    
            InputStream is = new FileInputStream("E:/iodemo/ch01.txt");
            //2、          
            //             
            byte[] b = new byte[5];//               
            //         
            is.read(b);
            //read:           
            //     b.length,           
            System.out.println(Arrays.toString(b));//        
            //          
            System.out.println(new String(b));
            //   
            is.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            //         :      
            e.printStackTrace();
        } catch (IOException e) {
            //      
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
/**
 * I/O    :             ,           。
 *    :               
 *    :                
 * @author Administrator
 *
 */
public class Ch03 {
    /**
     *       
     * @param args
     */
    public static void main(String[] args) {
        //InputStream:      
        // \:       
        //             :1、\\  2、/
        try {
            //              
            //1、    
            InputStream is = new FileInputStream("E:/iodemo/ch01.txt");
            //2、          
            //             
            byte[] b = new byte[is.available()];//               
            //is.available():       
    //        while(is.available()==0);//   0      
            //         
            int off = 0;
            int le = 2;
            while(is.read(b, off, 2)!=-1){
                off+=1;
            }
            is.read(b,off,2);
            //read:           
            //     b.length,           
            System.out.println(Arrays.toString(b));//        
            //          
            System.out.println(new String(b));
            //   
            is.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            //         :      
            e.printStackTrace();
        } catch (IOException e) {
            //      
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
public class Ch04 {
    /**
     *          
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            /*FileInputStream fis = new FileInputStream("E:/iodemo/ch04.txt");
            //   
            BufferedInputStream bis = new BufferedInputStream(fis);*/
            //   
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:/iodemo/ch04.txt"));
            //      
            byte[] b = new byte[bis.available()];
            bis.read(b);
            /*char[] c = new char[b.length];
            for (int i = 0; i < c.length; i++) {
                c[i]=(char) b[i];
            }
            System.out.println(Arrays.toString(c));//  
             */        
            System.out.println(Arrays.toString(b));//      
            //String(byte[])          
            System.out.println(new String(b));//      
            bis.close();//   (  bis    )
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Ch05 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            //    
            FileInputStream fis = new FileInputStream("E:/iodemo/ch01.txt");
            //fis.available():     
            byte[] b=new byte[fis.available()];
            //skip:  n         
            fis.skip(5);//   5 
            fis.read(b);
            System.out.println(new String(b));
            fis.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Ch06 {
    /**
     *       ,        ,            
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //       
        //        
        //            
        try {
            BufferedInputStream bis= new BufferedInputStream(new FileInputStream("E:/iodemo/ch06.txt"));
            byte[] b = new byte[bis.available()];
        //    bis.read(b, 0, b.length/2);
            //    
            bis.mark(bis.read(b, 0, b.length/2));//         
            System.out.println(new String(b));
            System.out.println("    ....");
            Thread.sleep(2000);//  2s
            //      
            System.out.println("    ...");
            //reset:               mark     
            bis.reset();
            bis.read(b);
            System.out.println(new String(b));
            bis.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.SequenceInputStream;
/**
 *    (   )
 *  n         
 * @author Administrator
 *
 */
public class Ch07 {
    public static void main(String[] args) {
        try {
            //      
            FileInputStream fis1=new FileInputStream("E:/iodemo/ch01.txt");
            //      
            FileInputStream fis2=new FileInputStream("E:/iodemo/ch04.txt");
            //       
            SequenceInputStream sis=new SequenceInputStream(fis1, fis2);
            //  1
//            //         
//            int len =fis1.available()+fis2.available();
//            byte[] b=new byte[2*len+1];
//            //               sb 
////            StringBuffer sb=new StringBuffer();
//            //          
//            int off=0;
//            int i=0;
//            while((i=sis.read(b,off,len))!=-1) { 
////                sb.append();
//                off+=i;
//            }
//            System.out.println(new String(b));
            //  2
            byte[] b=new byte[fis1.available()];
//            StringBuffer sb=new StringBuffer();
//            int i=0;
            while(sis.read(b)!=-1) {
                System.out.println(new String(b));
//                sb.append(new String(b));
            }
//            System.out.println(sb.toString());
            sis.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


package com.jredu.oopch11;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Vector;
public class Ch08 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            //     
            FileInputStream fis1 = new FileInputStream("E:/iodemo/a.txt");
            FileInputStream fis2 = new FileInputStream("E:/iodemo/b.txt");
            FileInputStream fis3 = new FileInputStream("E:/iodemo/c.txt");
            //          
            Vector<FileInputStream> vector = new Vector<>();
            vector.add(fis1);
            vector.add(fis2);
            vector.add(fis3);
        //    vector.elements(); //      Enumeration
            //         
            SequenceInputStream sis = new SequenceInputStream(vector.elements());
            byte[] b = new byte[fis1.available()+fis2.available()+fis3.available()];
            //  
            int off=0;
            //vector.get(i).available():       
            for (int i = 0; i < vector.size(); i++) {
                //off:                
                off+=sis.read(b, off, vector.get(i).available());//           
            }
            System.out.println(new String(b));
            sis.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

자바 알고리즘 과 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기