list在debug模式下按一次F6就加入一次是怎么回事?

事情的起因是我在一个Data.txt文件里有如下数据:
图片说明
这是我在main里的代码:
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;
    for (int i = 0; i < list.size(); i++) {
        String string = list.get(i);
        string = string.replaceAll(",", "\r\n,");
        String[] str = string.split(",");

        List<String> listId = null;
        List<String> listNa = null;
        List<String> listlatlng = null;

        if (map.get("1") == null) {

// listId = new Vector();
listId = new ArrayList();
}
listId.add(str[0]);
map.put("1", listId);
if (map.get("2") == null) {
listNa = new ArrayList();
}
listNa.add(str[1]);
map.put("2", listNa);
if (map.get("3") == null) {
listlatlng = new ArrayList();
}
listlatlng.add(str[2]);
map.put("3", listlatlng);

        for (int j = 0; j < 3; j++) {
            for (String string2 : (ArrayList<String>) map.get((j + 1) + "")) {
                by = string2.getBytes();
                ot.write(by, 0, by.length);
                ot.flush();
            }
        }
    }
    if (ot != null) {
        ot.close();
    }
}
---------------我是分割线-----------------------------------------------------------
<3>然后就报错了:
![图片说明](https://img-ask.csdn.net/upload/201612/30/1483059288_111618.png)
<4>我在debug下调试:
![图片说明](https://img-ask.csdn.net/upload/201612/30/1483059514_873608.png)
<5>后面的就是按一次F6他就加一次:
![图片说明](https://img-ask.csdn.net/upload/201612/30/1483059911_437594.png)
<6>我试过向量了,没有用。还有就是可以成功写道我要写入的aaa.txt里:
![图片说明](https://img-ask.csdn.net/upload/201612/30/1483060070_265990.png)

http://tieba.baidu.com/p/890910412

断点打在了哪里?是不是打在了for循环里了?