我们先编写如下代码
import java.io.FileInputStream;
import java.io.IOException;
public class text {
public static void main(String args[]) throws IOException {
FileInputStream File = new FileInputStream("D:\\学习案例\\java\\color.java");
int by = File.read();
System.out.println("字节内容: "+by);
System.out.println("转换字符串后: "+(char) by);
File.close();
}
}
这里 我的电脑里是有这个D:\学习案例\java下的color.java的 读数据的话 你本地要先建一个文件 然后再给路径
我的文件内容是这样的
运行结果如下
没有任何问题
但它只读取了一个内容
我们接着写 他是可以接着读取内容
例如
public static void main(String args[]) throws IOException {
FileInputStream File = new FileInputStream("D:\\学习案例\\java\\color.java");
int by = File.read();
System.out.println("字节内容: "+by);
System.out.println("转换字符串后: "+(char) by);
by = File.read();
System.out.println("字节内容: "+by);
System.out.println("转换字符串后: "+(char) by);
File.close();
}
运行结果如下
第一个是H 第二个是e 问题到是没问题 但如果我文件一堆内容 我们一个一个去写就显得有点捞了
read方法有一个特点 如果取不到 表示到达文件末尾 则方法返回 -1 那么我们完全可以写一个循环
判断如果取回来的是负一了 就终止循环
参考代码如下
public static void main(String args[]) throws IOException {
FileInputStream File = new FileInputStream("D:\\学习案例\\java\\color.java");
int by;
while((by = File.read()) != -1){
System.out.print((char)by);
}
File.close();
}
运行结果如下
没有任何问题
这里需要注意的是 System.out.println 每一个输出后是会换行的 如果你不想让他换行 就像我一样
把println 最后的 ln去掉 print是不会自己换行的