1
我試圖讓使用目錄下的文件列表:java.lang.UnixProcess固有地在NTFS上執行`find`的速度很慢?
val d = "..." // Path to a directory on a NTFS partition
val pb = new ProcessBuilder("find", d, "-type", "f", "-print")
pb.directory(new java.io.File(d))
val p = pb.start()
p.waitFor()
val listOfFiles = scala.io.Source.fromInputStream(p.getInputStream).getLines
然而,p.waitFor()
正在超過一分鐘來完成更多。
如果我在bash執行find . -type f -print
,但是在目錄中,它只需要不到一秒的時間完成。
因此,是在java.lang.UnixProcess
在NTFS分區固有緩慢,或者我做錯了什麼?
在Ubuntu 10.10上使用Scala 2.8.1,Java 1.6.0_24-b07。
使用這篇文章的想法,我將InputStream的處理移動到_Thread_(實際上是_Callable_),現在它可以工作。謝謝! – 2011-03-05 12:37:27