我正在尝试编写一个列表,其中包含一个文本文件中的点列表。我已设法编写方法来保存点到文本文件。但是,我在输出中得到了一些额外的字符
try {
FileOutputStream fileOut = new FileOutputStream(path);
ObjectOutputStream out = new ObjectOutputStream(fileOut);
for(int i = 0; i < pointList.size(); i++){
String s = parseString( pointList.get(i));
out.writeObject(s);
}
out.close();
fileOut.close();
} catch (IOException i) {
i.printStackTrace();
}
private static String parseString(Point P){
String point = String.valueOf(P.getX()) + "," + String.valueOf(P.getY()) ;
System.out.println("String: " +point);
return point;
}
这是点列表
List<Point> pointList = new ArrayList();
pointList.add(new Point(100,200));
pointList.add(new Point(300,500));
pointList.add(new Point(400,200));
pointList.add(new Point(100,500));
pointList.add(new Point(400,200![enter image description here][1]));
这是write方法的输出
我似乎不明白如何摆脱输出第一行的字符和每行的t
谢谢你的帮助
答案 0 :(得分:6)
ObjectOutputStream
将二进制序列化数据写入流。它不应该产生人类可读的输出。
如果你想写一些人类可读的东西,那就改用PrintWriter
之类的东西。