java读取并解析txt文件
java读取并解析txt文件
·
利用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();
}
结果如下
总结
如果txt文件的格式不符合json格式要求的话,会在JSONObject jsonObj =new JSONObject(sbreplace);这一步出错,错误一般为JSONObject text must begin with ‘{’ at 1 [character 2 line 1] 等。
更多推荐
已为社区贡献4条内容
所有评论(0)