java - 使用 FileInputStream 从文件中读取文本

标签 java file-io java-io fileinputstream

我的计算机上保存了一个文本文件,内容为 abcdefgh。我想使用 FileInputStream 在我的控制台上显示字符,同时还测量这样做所花费的时间。它看起来像这样:

public class Readtime {
    public static void main(String args[]) throws Exception{
        FileInputStream in=new FileInputStream("bolbol.txt");
        while(in.read()!=-1){
            long startTime = System.nanoTime();
            int x = in.read();
            long endtime = System.nanoTime();
            System.out.println(endtime-startTime);
            System.out.println((char)x);
        }
        in.close();
    }
}

我在控制台上得到的是以下内容:

8863
b
7464
d
6998
f
6997
h

现在剩下的字母在哪里?好像只完成了 4 次读取操作。我的想法是 char 大小的方向,read() 一次只读取一个字节,但我没有得到任何地方。

最佳答案

while(in.read()!=-1){
    long startTime =  System.nanoTime();
    int x=in.read();

您正在 while 条件下读取数据并再次在循环中打印读取

int i=0;  
while((i=in.read())!=-1){  
    System.out.println((char)i);  
}  

可以查看官方文档here

关于java - 使用 FileInputStream 从文件中读取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30965869/

相关文章:

file - 在压缩的排序固定宽度文件中搜索

java - 为什么 FileOutputStream 抛出 FileNotFoundException?

java - 从文件中读取前 5 行,然后读取其余行

android - 从 Assets 中读取 unicode 文本

java - 查找硬编码(魔术)数字和字符串

java - 改变 OCaml 中的模块行为

java - 您可以使用++ 运算符递增长文字并访问 java 中的整个长文字范围吗?

用C复制一个音频文件,如何存储?

Java石头剪刀布程序,带文件输入

java - spring中的空字符串表单输入