- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 mysql 读取并将结果写入 txt 文件。如您所见,我使用 Apache 的 Commons IO。结果集包含推文,下面的每个 sql 查询几乎返回 725 行以写入 txt 文件。我的问题是写入速度,它非常慢(每秒 2-3 kb)。我在这里遗漏了什么吗?
Statement stmt2 = connection.createStatement();
for (int week = 0 ; week<hashTag.length/15 ; week++){
File container = new File("C:\\Users\\COMP\\Desktop\\threeMonthsSplitTxt\\weeklyBinsTwitter\\week"+week+"-"+hashTag[week]+".txt");
for(int hash = 0 ; hash<15 ; hash++){
ResultSet results = stmt2.executeQuery("select tweetContent
from threemonthswithhashtag
where hashTag = '"+hashTag[hashCount]+"'
and tweetCreatedTime between '"+firstDate[hashCount]+"'
and '"+ lastDate[hashCount]+"';");
while(results.next()){
tweetContent = results.getString("tweetContent");
try{
FileUtils.write(container,newLine,"UTF8",true);
FileUtils.write(container,tweetContent,"UTF8",true);
}catch(IOException e){e.getMessage();}
}
hashCount++;
}
}
最佳答案
您使用的 API 将为每个 写入操作创建/打开/关闭文件(句柄)。
您很惊讶这并没有给您带来最佳性能?!
那个实用方法可能很方便,但是见鬼,而不是去
loop:
try:
open file; write to file; close file
open file; write to file; close file
考虑按照以下方式做一些事情
open file
loop:
try:
write to open file
write to open file
close file
相反。当然,这意味着您将不得不编写更多 代码;让事情变得更复杂;但好吧:有时必须在“ super 容易阅读”的代码与“性能足够好”的代码之间取得平衡。
可能最多的返工甚至会像这样:
StringBuilder toWrite = ...
loop:
try:
toWrite.append(...)
toWrite.append(...)
然后,在循环之后,您使用 FileUtils.write()
来简单地一次写入全部内容(您在内存中收集的内容)到文件系统。
这应该使新代码的整体复杂性保持在合理的水平;但有助于提高端到端性能。
关于java - FileUtils.write写入速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42159519/
这很奇怪……我想不明白为什么会这样。 我有一个文件夹,里面装满了各种 CoffeeScript、SASS、HTML 和 XML 文件。 我有一个 Ruby 脚本,可以将它们全部提取、编译并将它们缩小到
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在尝试使用 org.apache.commons.io.FileUtils.listFiles() 获取没有扩展名的文件列表,如下所示 http://www.avajava.com/tutoria
我正在尝试从 mysql 读取并将结果写入 txt 文件。如您所见,我使用 Apache 的 Commons IO。结果集包含推文,下面的每个 sql 查询几乎返回 725 行以写入 txt 文件。我
我使用 FileUtils.mv 像这样移动文件夹: FileUtils.mv("/home/sean/_site/", "/home/sean/projects/_site/") 它的返回inval
我正在尝试将文件从一个目的地复制到另一个目的地。我无法理解为什么会发生错误。如有任何帮助,我们将不胜感激。 public class FileSearch { public void find
我正在开发一个 Java 8 应用程序,该应用程序下载目录/文件列表并将它们存储在生成的 Temp 目录(%LocalAppData%/Temp/ 中的目录)中。下载完成后,会生成一个 XML 文件并
Apache commons-io 中的 FileUtils.forceMkdir 代替 JRE 中内置的 File.mkdirs 有何用途? forceMkdir 的文档是 Makes a dire
我正在用java编写一个程序来导入用户输入的文本文件,使用两个关键字对其进行加密,并将输出写入一个新的文本文件。 我正在使用 FileUtils.readFileToString() 将文本文件读入字
我知道之前已经有人问过这个变体。 但是,我的功能之一是使用 Common's FileUtils 。这里,它只需要 File 对象和 String。有什么方法可以对其进行单元测试吗? 最佳答案 当然。
我使用此代码以递归方式从给定目录获取所有文件。 List fileList = (List) FileUtils.listFiles(new File(directoryName), null , t
我正在使用以下内容将 StringBuilder 写入现有文本文件。 FileUtils.writeStringToFile(file, sb.toString(), StandardCharsets
我的代码有什么问题吗?引用这个question 该文件夹未被删除。 File f = new File(directory+"\\OOO"); if (f.exists())
如何使用 apache commons FileUtils 传递用于下载文件的用户凭据? 我正在使用如下身份 validator ,但似乎不起作用。它甚至不会提示凭据不良,因此看起来我的身份 vali
大家好,我正在尝试获取目录列表。我正在使用 FileUtils listFiles()。 我想做这样的事情:listFiles(File,IOFileFilter,false)。我真正的问题是如何从
我正在使用这个 atm: package com.obisdian.downloader; import java.io.BufferedWriter; import java.io.File; im
我需要按扩展类型和忽略大小写模式在目录和子目录中查找文件,这是我的代码: String[] patron = {"doc", "xls", "ppt"}; Iterator iter = FileU
我正在尝试使用 commons.io Apache 库 从 URL 下载一个大文件。这是我的代码: InputStream stream = new URL(CLIENT_URL).openS
我有一个目录,我在其中以编程方式(在Java中)进行递归解压缩(这似乎有效),但最终我留下了一个包含很多子目录和文件的目录。每次运行此方法时,我都想从头开始,因此我总是删除临时目录中存在的文件夹及其剩
在我的项目中,我有一个 resources 目录,里面有一个 my_directory。 my_directory 包含文本文件。 我想循环这个目录: URL resource = Resources
我是一名优秀的程序员,十分优秀!