JAVA——读取文本文件内容并显示(字节)
1.目的
文本方式打开某一指定路径指定文件名的文本文件,以字符为单位,读取其内容并显示。
2.方法
ReadFileByChars()方法中,InputStreamReader类是从字节流到字符流的桥梁:它的读入字节,并根据指定的编码方式,将其转换为字符流。如果没有指定编码方式,平台可接受默认编码方式,默认的编码方式GBK。可以根据new InputStreamReader(new FileInputStream(file),“编码方式”)进行设置。方法中屏蔽r元素是为了防止有回车。
以字符为单位读取文件,常用于读文本、数字等类型的文件。要得到标准输入的字节流,然后通过桥接转换为字符流,在经过缓冲得到带缓冲的标准输入流。
3.代码
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
public class rw11 {
public static void readFileByChars(String fileName) {
//以字符为单位读取文件
// TODO Auto-generated method stub
File file=new File(fileName); //创建文件
Reader read = null;
try {
//一次读一个字符
read = new InputStreamReader(new FileInputStream(file));
int tempchar;
while((tempchar=read.read())!=-1) {
//在Windows下,rn这两个字符在一起时,表示一个换行。
//但如果这两个字符分开显示,会换两次行。
//因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。
if(((char)tempchar)!='r') {
//只要是不换行就读取
System.out.print((char)tempchar);
}
}
read.close();
}catch(Exception e) {
e.printStackTrace();
}finally {
//内容总执行
if(read !=null) {
try {
read.close(); //确保关闭
}catch (IOException el) {
}
}
}
}
public static void main(String[] args) { //
// TODO Auto-generated method stub
String fileName="D:\\office\\学前任务\\yymc.txt";
System.out.println("以字符为单位读取指定文件:");
readFileByChars(fileName);
}
}
4.结果
编译结果如下图所示:
运行结果如下图所示: