gpt4 book ai didi

java - 为什么这个字符口导致我的扫描仪失败?

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:37 24 4
gpt4 key购买 nike

我正在使用 Java Scanner

我有一个 .txt 文件,其中保存了这段文字。

PriceDB = {
["profileKeys"] = {
["Name - 回音山"] = "Name - 回音山",
},
["char"] = {
["Name - 回音山"] = {
["CurrentValue"] = "一口价:|cffffffff70,197|TInterface\\MoneyFrame\\UI-GoldIcon:0:0:2:0|t|r",
},
},
}

我想做的就是用扫描仪打开这个文件并从文件中提取 70,197"CurrentValue" 并将其保存为 int。但是,每次打开文件时,它都不会读取一行并抛出一个 NoSuchElementException 消息,其中包含 “No line found” 消息。在摆弄文件并一个一个地删除了一些汉字之后,我将范围缩小到这个小家伙口。出于某种原因,扫描器不喜欢那个字符。我只是想知道是否需要更改某些编码设置,或者我是否要使用 BufferedReader 或什么...老实说,我不太确定发生了什么,除非我猜是编码错误。那么这里发生了什么?

编辑:这是我的扫描仪的初始化。

Scanner scanner;
if (region.equals("US")) {
scanner = new Scanner(new File("C:\\Program Files\\World of Warcraft\\WTF\\Account\\313023286#1\\SavedVariables\\WoWTokenPrice.lua"));
} else if (region.equals("EU")) {
scanner = new Scanner(new File("C:\\Program Files\\World of Warcraft\\WTF\\Account\\313495228#1\\SavedVariables\\WoWTokenPrice.lua"));
} else if (region.equals("China")) {
File file = new File("C:\\Program Files\\World of Warcraft\\WTF\\Account\\232241227#1\\SavedVariables\\WoWTokenPrice.lua");
System.out.println(file.exists());
scanner = new Scanner(file);
} else {
System.exit(1);
break;
}

我只是照原样复制了它。地区==“中国”

最佳答案

创建 Scanner 时必须指定正确的编码.构造函数:

public Scanner(InputStream source, String charsetName)

Constructs a new Scanner that produces values scanned from the specified input stream. Bytes from the stream are converted into characters using the specified charset.

Find here your charset ,我想 UTF-16但不是外文专家:)。

Scanner scanner = new Scanner(is, StandardCharsets.UTF-16.toString());

关于java - 为什么这个字符口导致我的扫描仪失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30073405/

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