And*_*rew 4 java file filewriter file-writing
我从一项服务中收集完整的HTML,该服务提供对大量博客和新闻网站的访问.我正在检查HTML(实时),看它是否包含一些关键字.如果它包含其中一个关键字,我将HTML写入文本文件以存储它.
我想这样做一个星期.因此我收集了大量数据.测试程序3分钟产生100MB的文本文件.我有4 TB的空间,我不能使用超过这个.
此外,我不希望文本文件变得太大,因为我认为它们将变得不可打开.
我建议的是打开一个文本文件,并向其中写入HTML,经常检查它的大小.如果它变大,比方说200MB,我关闭文本文件并打开另一个.我还需要保存一个运行日志,记录我总共使用了多少空间,以便确保我不接近4 TB.
我现在的问题是如何在文件关闭之前检查文本文件的大小(使用FileWriter.close()).是否有这样的功能,还是应该计算写入文件的字符数并使用它来估算文件大小?
一个单独的问题:有没有办法减少文本文件占用的空间量?我在Java工作.
创建一个编写器,计算写入的字符数,并用它来包装你的OutputStreamWriter.
[编辑]注意:将文本保存到文件的正确方法是:
new BufferedWriter( new OutputStreamWriter( new FileOutputStream( file ), encoding ) ) );
Run Code Online (Sandbox Code Playgroud)
编码很重要; 它通常是"UTF-8".
这个链为您提供了两个可以注入包装器的地方:您可以包装OutputStream编写器以获取字符数,或者包含内部以获取写入的字节.