我有一个Java程序,向Web服务发送一系列GET请求,并将响应正文存储为文本文件。
我实现了以下示例代码(过滤了大部分代码以突出相关内容),该代码将文本文件追加并在EOF处写入新行。但是,随着文件大小的增加,性能会受到影响,尽管代码完美运行。
数据总大小约为4GB,平均每次追加500KB至1MB的数据。
我实现了以下示例代码(过滤了大部分代码以突出相关内容),该代码将文本文件追加并在EOF处写入新行。但是,随着文件大小的增加,性能会受到影响,尽管代码完美运行。
数据总大小约为4GB,平均每次追加500KB至1MB的数据。
do
{
//send the GET request & fetch data as string
String resultData = HTTP.GET <uri>;
// buffered writer to create a file
BufferedWriter writer = new BufferedWriter(new FileWriter(path, true));
//write or append the file
writer.write(resultData + "\n");
}
while(resultData.exists());
这些文件是每天创建的,并且移动到HDFS以供Hadoop消费和实时存档。是否有更好的方法来实现这一点?