我从用户那里获取了一些输入,例如姓名、年龄、电子邮件等,并且我将所有这些字段与“:”分隔符连接起来
`String line = Anjan+":"+21+":"+abc@abcd.com;`
我的问题是:如何将字符串行写入文件?我重复从用户那里获取输入的过程。有人可以解释一下,在完成读取和连接输入之后,我如何每次都将行写入文件?
如果您使用的是 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 和底层流。
public static void write(final String content, final String path)
throws IOException {
final FileOutputStream fos = new FileOutputStream(path);
fos.write(content.getBytes());
fos.close();
}
试试下面的代码。您可以创建方法并将值作为参数传递。它每次都会追加新行。它不会删除现有的行(数据)
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();