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

44次阅读

共计 901 个字符,预计需要花费 3 分钟才能阅读完成。

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 来读取

正文完
 0