【发布时间】:2020-07-13 05:38:46
【问题描述】:
我正在尝试从 file.lua 中读取数据。
file.lua 包含:
Settings = {
{
["msg"] = "в ич об нид мдд/рдд",
["aut"] = "Lightmur",
["cha"] = "5. Поиск спутников",
}, -- [1]
{
["msg"] = "цлк25н ппал шп маг ршам рдру сова (осколки анрол) 5 слотов",
["aut"] = "Savagemode",
["cha"] = "5. Поиск спутников",
}, -- [2]
{
["msg"] = "В СА25 танк/хил/дд/рдд",
["aut"] = "Dralo",
["cha"] = "5. Поиск спутников",
}, -- [3]
{
["msg"] = "в ич об нид мдд/рдд",
["aut"] = "Lightmur",
["cha"] = "5. Поиск спутников",
}, -- [4]
{
["msg"] = "продам |cffa335ee|Hitem:36919:0:0:0:0:0:0:0:80|h[Багровый рубин]|h|rх6 по 120г",
["aut"] = "Аматин",
["cha"] = "2. Торговля: Город",
}, -- [5]
}
我如何能够用 java 代码读取这个文件?
Settings 是完整的消息日志。 msg - 消息,aut - 消息作者,cha - 消息频道
这就是我要使用的:我的pom.xml、java 代码和运行结果
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
JSONParser jsonParser = new JSONParser();
try (FileReader reader = new FileReader(filePath))
{
//Read JSON file
Object obj = jsonParser.parse(reader);
JSONArray employeeList = (JSONArray) obj;
System.out.println(employeeList);
//Iterate over employee array
//employeeList.forEach( emp -> parseEmployeeObject( (JSONObject) emp ) );
}
//Run result:
Unexpected character (S) at position 2.
at org.json.simple.parser.Yylex.yylex(Yylex.java:610)
at org.json.simple.parser.JSONParser.nextToken(JSONParser.java:269)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:118)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:92)
at Main.main(Main.java:21)
我想得到任何建议,我应该使用什么。因为在我读完这个文件后,我想通过调用getMsg() 方法来检查变量 msg 中的内容;
我无法在一个字符串中读取此内容,但我如何处理数据?
File myObj = new File(filePath);
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
System.out.println(data);
}
myReader.close();
//result
Settings = {
{
["msg"] = "в ич об нид мдд/рдд",
["aut"] = "Lightmur",
["cha"] = "5. Поиск спутников",
}, -- [1]
{
["msg"] = "цлк25н ппал шп маг ршам рдру сова (осколки анрол) 5 слотов",
["aut"] = "Savagemode",
["cha"] = "5. Поиск спутников",
}, -- [2]
{
["msg"] = "В СА25 танк/хил/дд/рдд",
["aut"] = "Dralo",
["cha"] = "5. Поиск спутников",
}, -- [3]
{
["msg"] = "в ич об нид мдд/рдд",
["aut"] = "Lightmur",
["cha"] = "5. Поиск спутников",
}, -- [4]
{
["msg"] = "продам |cffa335ee|Hitem:36919:0:0:0:0:0:0:0:80|h[Багровый рубин]|h|rх6 по 120г",
["aut"] = "Аматин",
["cha"] = "2. Торговля: Город",
}, -- [5]
}
Process finished with exit code 0
【问题讨论】:
-
为什么要使用 JSON 解析器读取 lua 文件?它们不一样。
-
你的文件是一个lua脚本文件。要使用 Gson,您的文件必须遵循 JSON 约定。这不是
-
我试图改进这个问题的标题,因为你不是在问如何读取任何文件,而是如何从 lua 文件中读取数据。
-
有大量关于如何在 Java 中读取文件的教程。他们有什么问题?