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 来读取
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。