- 通过FileInputStream读完文本文件,显示在屏幕上
(FileInputStream并不适合读文本文件,而是用于读取二进制等非文本文件的,此时就要用FileReader读取文本文件,看一下有什么区别)
package javastudy;
import java.io.FileInputStream;
import java.io.IOException;
public class Test16 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileInputStream fis=new FileInputStream("E:\\文件流笔记.txt"); //创建一个文件流对象,并定义Stringname路径
int ch=0;
while((ch=fis.read())!=-1){ //读取文件,直至为-1,即为读完
System.out.print(ch+"\t");
}
fis.close();
}
}
通过查看结果,都是int类型输出的数字
执行结果
要想正常输出文字,需要使用其他的方法来写:
package javastudy;
import java.io.FileInputStream;
import java.io.IOException;
public class Test16 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileInputStream fis=new FileInputStream("E:\\文件流笔记.txt"); //创建一个文件流对象,并定义Stringname路径
int len=fis.available(); //available是返回此文件有多长
byte [] data=new byte[len];//定义一个字节数组,来存放
fis.read(data);
System.out.println(new String(data));//使用字符装配字节
fis.close();
}
}
执行结果
- 通过FileReader读取文本并显示
(上面演示的是通过字节流显示文本,下面看一看,使用字符流显示文本)
package javastudy;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
public class Test16 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileReader fr=new FileReader("E:\\文件流笔记.txt");
int ch=0;
while((ch=fr.read())!=-1){ //读取文件,直至为-1,即为读完
System.out.print((char)ch);//使用字符输出
}
fr.close();
}
}
执行结果
网友评论