1

我的问题是当我从文本文件中获取数据时,它似乎是错误的编码或某种东西。我不知道如何解决这个问题对不起。提前致谢。这是代码。

private static String readLogFile(String path, File f) throws IOException {
    if (f.exists()){
    String data;
        try (RandomAccessFile raf = new RandomAccessFile(f, "rw")) {
            char ch = raf.readChar();
            raf.seek(f.length());
            String dataCh = String.valueOf(ch);
            data = dataCh.toString();
            System.out.println(data);
        }
        return data;
    }

    else{
        String data = "";
        return data;
    }
}
4

1 回答 1

1

来自 Java 文档

此方法一直阻塞,直到读取了两个字节、检测到流结束或抛出异常。

注意,“读取两个字节”

因为 Java 支持 Unicode 字符,所以流自动假设从流中读取字符需要生成 Unicode 字符。

试试char ch = (char)raf.readByte();

于 2012-08-29T02:38:57.167 回答