在Java中将字符串保存到文本文件

时间:2012-12-07 09:01:07

标签: java string text file-io

我正在做一个小应用程序,我正在移动一些圆形,正方形和三角形。我从txt文件中读取的坐标。但是一旦我完成移动它们,我想将它们的坐标保存在同一个txt文件中。

这就是代码现在的样子:

import java.io.FileNotFoundException;
import se.lth.cs.ptdc.window.SimpleWindow;

public class ShapeTest {

    public static void main(String[] args) throws FileNotFoundException {
            SimpleWindow w = new SimpleWindow(600, 600, "ShapeTest");
            ShapeList shapes = new ShapeList();
            java.util.Scanner scan = null;
            try {
                scan = new java.util.Scanner(new java.io.File("shapedata.txt"));
            } catch (java.io.FileNotFoundException e) {
                System.err.println("shapedata.txt couldn't be found");
            }

            int x,y,z;
            while(scan.hasNext()) {
                    String s = scan.next();
                    if (s.contentEquals("S")){
                            x = scan.nextInt();
                            y = scan.nextInt();
                            z = scan.nextInt();
                            shapes.insert(new Square(x,y,z));
                    } else if (s.contentEquals("C")) {
                            x = scan.nextInt();
                            y = scan.nextInt();
                            z = scan.nextInt();
                            shapes.insert(new Circle(x,y,z));
                    } else if (s.contentEquals("T")) {
                            x = scan.nextInt();
                            y = scan.nextInt();
                            z = scan.nextInt();
                            shapes.insert(new Triangle(x,y,z));
                    }

            }
            shapes.draw(w);

            CommandDispatcher cd = new CommandDispatcher(w,shapes);
            cd.mainLoop();
    }
}

我需要添加什么?我尝试了FileUtils.writeStringToFile没有任何好结果。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用java.util.Formatter验证文本文件,然后格式化输出,将它们存储在同一文本文件中。

答案 1 :(得分:0)

如果您在保存整数时遇到问题,只需使用String.valueOf()将值转换为字符串并正常保存即可。然后,您可以使用Integer.parseInt()来阅读它们。

如果你问的是如何保存到一般文件中,这是一个更大的问题answers more qualified than mine are available here on Stack Overflow.