-4

我从用户那里获取了一些输入,例如姓名、年龄、电子邮件等,并且我将所有这些字段与“:”分隔符连接起来

`String line = Anjan+":"+21+":"+abc@abcd.com;`

我的问题是:如何将字符串行写入文件?我重复从用户那里获取输入的过程。有人可以解释一下,在完成读取和连接输入之后,我如何每次都将行写入文件?

4

3 回答 3

1

如果您使用的是 java 7,那将非常容易,

    public void writerToPath(String content, Path path) throws IOException {
        try(BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(path,StandardOpenOption.CREATE, StandardOpenOption.APPEND)))){
            writer.newLine();
            writer.write(content);
    }
}

由于 Writer 实现了 AutoClosable 接口,因此在完成或发生异常时将关闭 writer 和底层流。

于 2013-09-11T09:05:19.303 回答
0
public static void write(final String content, final String path)
    throws IOException {
    final FileOutputStream fos = new FileOutputStream(path);
    fos.write(content.getBytes());
    fos.close();
}
于 2013-09-11T08:38:23.207 回答
0

试试下面的代码。您可以创建方法并将值作为参数传递。它每次都会追加新行。它不会删除现有的行(数据)

File logFile = new File( System.getProperty("user.home") + File.separator + "test.txt");
String data = "value";
if(!logFile.exists()){
    logFile.createNewFile();
}
FileWriter fstream = new FileWriter(logFile.getAbsolutePath(),true);
BufferedWriter fbw = new BufferedWriter(fstream);
fbw.write(data);
fbw.newLine();
fbw.close();
于 2013-09-11T08:41:34.510 回答