2016-07-08 11 views
0

Ich bin auf der Suche nach einer einfachen Java-Datei-Funktion, die eine Puffergröße nimmt. Ich habe java.nio.Files ausprobiert, deren Kopiermethode keine Puffergröße benötigt, und Apache commons FileUtils.copyFile. Fehle ich etwas oder muss ich hier wirklich etwas von Hand rollen?Einfache Java/Scala Dateikopie, die Puffer/Puffergröße als Parameter verwendet

+1

dies ist nicht, wie SO funktioniert, zeigen, was Sie –

+0

https versucht: //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) Seltsamerweise, wie ich erwähnt in meinem OP, keiner von ihnen eine Puffergröße Argument. https://www.google.de/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 ergab auch nichts. – Imran

+0

Mögliches Duplikat von [Scala-Skript zum Kopieren von Dateien] (http://stackoverflow.com/questions/2225214/scala-script-to-copy-files). Die Antworten dort haben Optionen, Puffergrößen zu übergeben. –

Antwort

2

Scala hat eine gute io-Bibliothek, die Sie lesen können (standardmäßig gepuffert). für Java zu schreiben hat BufferedWriter, können Sie es verwenden

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() 

Yeap, die Sie gerade kopiert foo.txt schreiben uns bar.txt

+0

Und BufferedWriter nimmt einen Puffer-Größe-Parameter, sollte das OP die Größe explizit festlegen müssen. –

+0

@TheArchetypalPaul Sie haben Recht, Bearbeitung –