我正在尝试使用UTF-8解码JSON格式的JSON文件,
但是它没有打印出任何值
JSONParser jsonParser = new JSONParser();
FileReader file = new FileReader("C:/Users/aab6cob/Desktop/jsonFile/170902_K0_RUCd_ML_F4974.txt.insights-json");
BufferedReader filBufferedReader = new BufferedReader(file);
String st;
while((st=filBufferedReader.readLine())!=null){
byte[] tempByte = st.getBytes("UTF-8");
String tempString = new String(tempByte);
System.out.println(tempString);
}
答案 0 :(得分:1)
首先,不要忘记使用.json
文件格式,它只是一个简单的文本文件。因此,您只需读取文件并使用任何fileStream等将其写入任何文本文件中即可。与读取和写入计划文本文件非常相似。
但是,如果您要将JSON从文件加载到JSON对象中,建议您阅读json-simple-read-write-json-examples
祝你好运。
答案 1 :(得分:0)
如果要读取具有特定编码的文件,则不能使用FileReader
。 FileReader
使用默认编码,具体取决于系统设置。您可以使用InputStreamReader的InputStreamReader(InputStream in, String charsetName)
构造函数。
也是代码中的两行
byte[] tempByte = st.getBytes("UTF-8");
String tempString = new String(tempByte);
应该删除,因为您只使用一个字符串,如果将其转换为字节,然后再次转换为字符串,则没有意义。最后,JSON文件只是一个文本文件。详细了解Java的 I / O流和字符编码。