《java之IO文件操作一:按行读取输出》

java中IO文件操作是java中一个十分重要的部分,在金融证券公司的笔试中常常会遇到对文件的操作。今天这篇文章讲的是简单的文本文件按行读取并输出到控制台。


package com.lsl.readAndwrite;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadAndOut {
    
    public static void main(String[] args) throws IOException {
        /*
         * 1.打开一个文件file
         * 2.new一个InputStreamReader←FileInputStream←file
         * 3.用BufferedReader(←InputStreamReader)的readLine()方法读取
         * */
        File f = new File("D:\\book\\1.txt");
        InputStreamReader readf = new InputStreamReader(new FileInputStream(f),"GBK");
       //有可能出现乱码
        BufferedReader bfReader = new BufferedReader(readf);
        String txtline = null;
        while ((txtline = bfReader.readLine()) != null) {
          System.out.println(txtline);
        }
        bfReader.close();
      };
}

结果截图:

乱码问题:

FileReader得到的是字符,所以一定是已经把字节根据某种编码识别成了字符了
而FileReader使用的编码方式是Charset.defaultCharset()的返回值,如果是中文的操作系统,就是GBK
FileReader是不能手动设置编码方式的,为了使用其他的编码方式,只能使用InputStreamReader来代替
用InputStreamReader 来读取

你可能感兴趣的:(windows,eclipse,java)