通常,当我阅读文本文件时,我会这样做:
File file = new File("some_text_file.txt");
Scanner scanner = new Scanner(new FileInputStream(file));
StringBuilder builder = new StringBuilder();
while(scanner.hasNextLine()) {
builder.append(scanner.nextLine());
builder.append('\n');
}
scanner.close();
String text = builder.toString();
可能有更好的方法,但这种方法一直对我很有效。
对于我现在正在做的事情,我需要阅读一个大文本文件(大小超过 700 KB)。以下是在记事本(任何 Windows 操作系统的标准配置)中打开时的文本示例:
"lang"
{
"Language" "English"
"Tokens"
{
"DOTA_WearableType_Daggers" "Daggers"
"DOTA_WearableType_Glaive" "Glaive"
"DOTA_WearableType_Weapon" "Weapon"
"DOTA_WearableType_Armor" "Armor"
但是,当我使用上面提供的方法从文件中读取文本时,输出为:
由于某种原因,我无法粘贴输出。我也尝试像这样读取文件:
File file = new File("some_text_file.txt");
Path path = file.toPath();
String text = new String(Files.readAllBytes(path));
...结果没有变化。
为什么输出不符合预期?我还尝试阅读我编写的文本文件,它工作得非常好。