gpt4 book ai didi

java - 在java中,当一次读取一个文件中的一个字符时,如何确定EOF?

转载 作者:行者123 更新时间:2023-12-01 06:45:42 29 4
gpt4 key购买 nike

我必须阅读一段时间并使用算法对每个字母进行编码,然后将它们打印到另一个文件中。我知道通常要找到文件的末尾,您可以使用 readLine 并检查其是否为空。我正在使用 bufferedReader。无论如何要检查是否有另一个字符要读入?基本上,我怎么知道我刚刚读入了文件的最后一个字符?

我想我可以使用 readline 并查看是否还有另一行,如果我知道如何确定何时位于当前行的末尾。

我发现 File 类有一个名为 size() 的方法,据说可以转换文件的字节长度。那会告诉我文件中有多少个字符吗?我可以做while(charCount<length)

最佳答案

我不太明白你想做什么。我想您可能想逐个字符地读取文件。如果是这样,您可以这样做:

FileInputStream fileInput = new FileInputStream("file.txt");
int r;
while ((r = fileInput.read()) != -1) {
char c = (char) r;
// do something with the character c
}
fileInput.close();

FileInputStream.read()当没有更多字符可供读取时,返回-1。它返回一个 int 而不是 char,因此强制转换。

请注意,如果您的文件采用 UTF-8 格式并包含多字节字符,则此操作将不起作用。在这种情况下,您必须将 FileInputStream 包装在 InputStreamReader 中并指定适当的字符集。为了简单起见,我在这里省略了它。

关于java - 在java中,当一次读取一个文件中的一个字符时,如何确定EOF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15045424/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com