利用org.json即可实现
一、基本思路
先利用IO流读取txt文件,读取每行内容并转为普通字符串(json形式的格式一定要正确),再将其转为JSONObject对象,通过JSONObject对象来取不同类型的值。
txt文件内容格式如下:
二、具体代码
代码如下(示例):
public static void main(String[] args) throws IOException {
String jsonpath="E:\\河南省乡镇点\\12.txt";
ReadGeojson.ReadGeojsonFile(jsonpath);
}
public static void ReadGeojsonFile(String jsonpath) throws IOException {
//读取txt文件流
File file=new File(jsonpath);
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"UTF-8");
BufferedReader bufReader = new BufferedReader(inputStreamReader);
try {
String line="";
//读取每行内容
StringBuffer sb=new StringBuffer();
while ((line=bufReader.readLine())!=null){
sb.append(line);
}
//去除空格
String sbreplace = sb.toString().replace(" ", "");
System.out.println(sbreplace);
//转换成为JSONObject对象
JSONObject jsonObj =new JSONObject(sbreplace);
System.out.println(jsonObj.get("dataType"));
//第二层
Object attributes = jsonObj.get("attributes");
System.out.println(attributes);
JSONObject attributesObj =new JSONObject(attributes.toString());
System.out.println(attributesObj.get("userId"));
//数组形式
JSONArray geometry =(JSONArray) jsonObj.get("geometry");
System.out.println(geometry.get(0));
System.out.println(geometry.toString());
} catch (IOException e) {
e.printStackTrace();
}
bufReader.close();
}
结果如下
文章来源:https://www.toymoban.com/news/detail-574692.html
总结
如果txt文件的格式不符合json格式要求的话,会在JSONObject jsonObj =new JSONObject(sbreplace);这一步出错,错误一般为JSONObject text must begin with ‘{’ at 1 [character 2 line 1] 等。文章来源地址https://www.toymoban.com/news/detail-574692.html
到了这里,关于java读取并解析txt文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!