Java 读取TXT文件的多种方式

时间:2022-01-06 18:49:21

1).按行读取TXT文件

package zc;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class readLine {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    File file = new File("C:/zc.txt");
    BufferedReader reader = null;
    String tempString = null;
    int line =1;
    
    try {
        System.out.println("以行为单位读取文件内容,一次读一整行:");
        reader = new BufferedReader(new FileReader(file));
        while ((tempString = reader.readLine()) != null) {
            System.out.println("Line"+ line + ":" +tempString);
            line ++ ;
        }
        reader.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{
        if(reader != null){
            try {
                reader.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
  }
}

2).按字节读取TXT文件

package zc;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class readerFileByChars {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file = new File("c:/zc.txt");
        InputStream in = null;
        byte[] tempByte = new byte[1024];
        int byteread = 0;
       
        try {
            System.out.println("以字节为单位读取文件内容,一次读多个字节:");
            in = new FileInputStream(file);
            while ((byteread = in.read(tempByte)) != -1 ) {
                System.out.write(tempByte, 0, byteread);
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
}