如何用Java把txt文件内的数值复制给变量
求助大神们!!!!<nodeid='1'lat='22'lon='44'/><nodeid='2'lat='33'lon='33'/><nodeid='3'lat='44...
求助大神们!!!!
<node id='1' lat='22' lon='44' />
<node id='2' lat='33' lon='33' />
<node id='3' lat='44' lon='22' />
这些信息存在D:\a.txt中
定义一个数据结构
class Node {
public long mid ;
public double mlat; //纬度
public double mlon; //经度
}
如何把id赋值给 mid, lat复制给mlat, lon赋值给mlon。
在不重新改变txt文档里的内容的情况下。 展开
<node id='1' lat='22' lon='44' />
<node id='2' lat='33' lon='33' />
<node id='3' lat='44' lon='22' />
这些信息存在D:\a.txt中
定义一个数据结构
class Node {
public long mid ;
public double mlat; //纬度
public double mlon; //经度
}
如何把id赋值给 mid, lat复制给mlat, lon赋值给mlon。
在不重新改变txt文档里的内容的情况下。 展开
1个回答
展开全部
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
Node n=(Node)unSerialize(tempString);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
public Node unSerialize(String nodeStr){
Node n=new Node();
int s0=nodeStr.indexOf("\'");
int s1=nodeStr.indexOf("\'",s0);
String mid=nodeStr.subString(s0,s1);
n.setMid(Integer.parseInt(mid));
int s2=nodeStr.indexOf("\'",s1);
String mlat=nodeStr.subString(s1,s2);
n.setMlat(Double.parseDouble(mlat));
}
用正则表达式也可以做
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
Node n=(Node)unSerialize(tempString);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
public Node unSerialize(String nodeStr){
Node n=new Node();
int s0=nodeStr.indexOf("\'");
int s1=nodeStr.indexOf("\'",s0);
String mid=nodeStr.subString(s0,s1);
n.setMid(Integer.parseInt(mid));
int s2=nodeStr.indexOf("\'",s1);
String mlat=nodeStr.subString(s1,s2);
n.setMlat(Double.parseDouble(mlat));
}
用正则表达式也可以做
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询