代码如下:
public static void main(String[] args) throws IOException {
// GetLatAndLngByBaidu b = new GetLatAndLngByBaidu("");
List list = MockUtil.read("D:\Data\gongshang.txt");
// for (String string : list) {
// try {
// System.out.println(string + ":" + b.getByName(string));
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// 将经度纬度写入到文件里面
File file = new File("D:\Data\aaa.txt");
OutputStream ot = null;
Map<String, List> map = new HashMap<String, List>();
ot = new FileOutputStream(file, true);
byte[] by = null;
List<String> listId = null;
List<String> listNa = null;
List<String> listlatlng = null;
for (int i = 0; i < list.size(); i++) {
String string = list.get(i);
string = string.replaceAll(",", ":");
string = string.replaceAll(":", "\r\n:");
String[] str = string.split(":");
if (map.get("1") == null) {
// listId = new Vector<String>();
listId = new ArrayList<String>();
}/* else {
listId = (ArrayList<String>) map.get("1");
}*/
listId.add(str[0]);
map.put("1", listId);
if (map.get("2") == null) {
listNa = new ArrayList<String>();
} /*else {
listNa = (ArrayList<String>) map.get("2");
}*/
listNa.add(str[1]);
map.put("2", listNa);
if (map.get("3") == null) {
listlatlng = new ArrayList<String>();
} /*else {
listlatlng = (ArrayList<String>) map.get("3");
}*/
listlatlng.add(str[2]);
map.put("3", listlatlng);
// if (map.get("4") == null) {
// listNa = new ArrayList();
// } else {
// listNa = (ArrayList) map.get("2");
// }
// listNa.add(str[1]);
// map.put("2", listNa);
}
for (int j = 0; j < 3; j++) {
for (String string2 : (ArrayList) map.get((j + 1) + "")) {
by = string2.getBytes();
ot.write(by, 0, by.length);
ot.flush();
}
}
if (ot != null) {
ot.close();
}
}
-------------------------------我是分割线--------------------------------------
上面的代码:是在debug下按F6在listId.add(str[0]);处出现重复添加。循环里的i还是0