情况是:
基本上我有1个输入文件但有几个可能的输出文件(大约1-100个可能的输出文件)。
这个过程本身是基本的,所以我专注于如何处理记录。
哪种选择适合这种情况?
List
,然后最后逐个编写每个List?List
,每次处理完每条记录后,我会立即将其写入各自的输出文件。但这需要我一次打开流。请赐教我这个。感谢。
答案 0 :(得分:2)
第二个选项是可以的:按需创建文件输出流,并在需要时保持它们打开(例如,在Map
中跟踪它们)。
操作系统可能限制它允许的打开文件句柄数,但这些数字通常远远超过几百个文件。
第三种选择:
你也可以追加到文件,FileOutputStream
允许在构造函数中使用该选项:
new FileOutputStream(File file, boolean append)
这比保持FileOutputStream
打开效果要差,但效果也一样。