2016-07-08 65 views
0

我在寻找一个简单的java复制文件函数,它需要缓冲区大小。我已经尝试过java.nio.Files,它的复制方法不占用缓冲区大小,Apache公用程序FileUtils.copyFile也没有。我是否错过了一些东西,还是我真的需要在这里手工滚动?以缓冲区/缓冲区大小为参数的简单Java/Scala文件副本

+1

这不是怎么这么的作品,让我们了解您尝试 –

+0

HTTPS: //commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileUtils.html#copyFile(java.io.File,%20java.io.File) https: //docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#copy(java.nio.file.Path,%20java.io.OutputStream) 奇怪的是,因为我在我的OP中提到,他们都没有采取缓冲区大小的参数。 https://www.google.co.uk/search?q=java+scala+file+copy+specify+buffer+size&oq=java+scala+file+copy+specify+buffer+size&aqs=chrome..69i57 .8903j0j4&sourceid = chrome&ie = UTF-8 也没有任何结果。 – Imran

+0

[Scala脚本复制文件]的可能重复(http://stackoverflow.com/questions/2225214/scala-script-to-copy-files)。那里的答案可以选择通过缓冲区大小。 –

回答

2

Scala有一个很好的io库,你可以使用它来读取(默认缓冲)。 对于编写Java有BufferedWriter,你可以用它来写

import scala.io._ 
import java.io._ 

val input = Source.fromFile(new File("foo.txt"), 1000) 

val outputFile = new File("bar.txt") 
val output = new BufferedWriter(new FileWriter(outputFile), 1000) 

input.foreach { char => 
    output.write(char) 
} 
output.flush() 

叶氏,你刚才复制foo.txt的到跳回到bar.txt

+0

如果OP需要显式设置大小,并且BufferedWriter采用缓冲区大小参数。 –

+0

@TheArchetypalPaul你是对的,编辑 –