我想運行一個從JSON文件讀取一些值的java類。當我運行它,但是,我得到的錯誤:Eclipse不讀取JSON文件
java.io.FileNotFoundException: \file001.json (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at jsonPractice.main(jsonPractice.java:21)
我使用的代碼是:
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class jsonPractice {
@SuppressWarnings("unchecked")
public static void main(String[] args)
{
JSONParser parser = new JSONParser();
try
{
Object obj = parser.parse(new FileReader("file001.json"));
JSONObject jsonObject = (JSONObject) obj;
String name = (String) jsonObject.get("name");
System.out.println(name);
long age = (Long) jsonObject.get("age");
System.out.println(age);
JSONArray msg = (JSONArray) jsonObject.get("messages");
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext())
{
System.out.println(iterator.next());
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (ParseException e) {
e.printStackTrace();
}
}
}
我已經取得了一定的JSON jar添加到構建路徑和FILE001 .json位於項目工作區中的文件夾內。
感謝
您還需要關閉的FileReader(),或者你的過程中會留下的文件描述符。嘗試{...}最後{reader.close(); } – chubbsondubs