我正在用java编写一个使用spark流框架的程序(即使你不知道spark是什么,你可能仍然知道我问题的答案)。我基本上是通过套接字每秒接收一个字符串,并希望将它们保存在txt文件中(每个字符串由一个段落分隔)。比如说:
FileWriter a = new Filewriter (path to file);
a.append(string s);
a.append('\n');
a.flush;
spark流的工作方式是将main()方法转换成一个大while循环,因此为了将接收到的字符串保存在同一个文件中,我需要在main()之外声明一个变量(否则它将继续初始化并只保存它接收到的最后一个字符串)。
问题是,由于ioexception,我必须这样做:
public static void writer () throws IOException
{
FileWriter a= new Filewriter (path to file );
}
但是如果我在main()中调用writer(),我会遇到与以前相同的问题(我一直在初始化一个)。
如何在main()之外初始化一个,这样就没有这个问题了?
非常感谢。
1条答案
按热度按时间xdyibdwo1#
可以将其声明为字段,但是需要在构造函数中捕获异常。你能做到的
使用printwriter的优点是
它在每行的末尾放置一个适当的换行符。
可以启用自动刷新。
你可以用