如何在文件中找到最大字节



所以我基本上有文件C:\test.txt,我得到的输出(55)不正确,我想在该文件中找到最大字节,有人能帮我理解我做错了什么吗,或者我的代码中有错误吗?

public static void main(String[] args) throws Exception
            {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
              String filName = bufferedReader.readLine();
                int max;
                FileInputStream fileReader = new FileInputStream(filName);
                max = fileReader.read();
                while (fileReader.available() > 0)
                {
                    if (max < fileReader.read())
                    {
                        max = fileReader.read();
                    }
                }
                fileReader.close();
                System.out.println(max);
            }
        }

这里读取位置N处的字节,如果它大于当前的最大值,则用位置N+1:处的字节替换最大值

if (max < fileReader.read())
{
     max = fileReader.read();
}

你能看到这怎么不起作用吗?您需要保存fileReader.read()的结果,以便进行比较,然后使用它:

int current = fileReader.read();
if (current > max)
{
    max = current;
}

此外,根据这一评论:

数据是1 2 3 4 5

您期望从文件中读取整数,而实际上您正在读取原始字节/字符值。如果文件是二进制的,则需要读取整数大小的块。如果文件是文本,则需要解析其中的整数。

相关内容

  • 没有找到相关文章

最新更新