如何将点对象写入文本文件

时间:2015-03-17 21:09:50

标签: java io fileoutputstream filewriter objectoutputstream

我正在尝试编写一个列表,其中包含一个文本文件中的点列表。我已设法编写方法来保存点到文本文件。但是,我在输出中得到了一些额外的字符

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方法的输出 http://i.stack.imgur.com/hqMDK.png

我似乎不明白如何摆脱输出第一行的字符和每行的t

谢谢你的帮助

1 个答案:

答案 0 :(得分:6)

ObjectOutputStream将二进制序列化数据写入流。它不应该产生人类可读的输出。

如果你想写一些人类可读的东西,那就改用PrintWriter之类的东西。