JavaはI/Oストリームを使ってファイルの内容を読み取る方法を詳しく説明します。


本明細書の例は、JavaがI/Oストリームを用いてファイルの内容を読み取る方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。

I/Oストリームでファイルの内容を読み取るには、まずInputStreamのアーキテクチャを把握する必要があります。

このシステムでは、FileInputStreamとBufferediInputStreamは必ずマスターしなければならないのです。使用頻度が高いからです。
InputStreamの方法:InputStreamはjava.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();
        }
    }
}

javaアルゴリズムに関するより多くの内容に興味がある読者は、当駅のテーマを見ることができます。「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaキャッシュ操作テクニックのまとめ
本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。