首页 > 解决方案 > Java InputStream 的读取方法没有读取前几个字节的问题

问题描述

所以,我写了一个简单的程序,它接收一个文本文件,并打算在不同的行上一个接一个地输出文件中的字符。

下面是我正在使用的“hello.txt”文本文件的内容:

Hello How Are You?

这是我的代码:

import java.io.InputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class input_stream {
    public static void main(String args[]) throws FileNotFoundException, IOException {
        InputStream input = new FileInputStream("C:\\Users\\m3hran\\Desktop\\file_test\\hello.txt");

        byte[] byteArray = new byte[1024];

        int ArraysRead = input.read(byteArray);

        input.close();

        System.out.println(ArraysRead);

        for (byte i : byteArray) {
            System.out.println ((char) i);
        }
    }
}

我的问题是我的输出似乎由于某种原因跳过了前几个字节 - 这是我的输出:

在此处输入图像描述

我想知道是否有人知道是什么导致了这个问题?任何帮助,将不胜感激!

标签: javavisual-studio-codeinputstream

解决方案


第一次运行文件时,我得到的结果与您发布的问题相同,但在扩大终端并再次运行文件后,结果将正确显示,与外部相同终端: 在此处输入图像描述

这似乎是一个可以放在 github 中的问题,这是我的问题链接:Can't show complete java result in Terminal unless resize it

此外,请注意您的隐私保护,您可能会在截图中掩盖姓名。


推荐阅读