file i/o buffering
[mir.git] / source / mir / util / FileFunctions.java
index cd06169..bbbaa68 100755 (executable)
@@ -31,6 +31,8 @@ package mir.util;
 
 import gnu.regexp.RE;
 
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -47,18 +49,20 @@ public class FileFunctions {
   }
 
   public static void copyFile(File aSourceFile, File aDestinationFile) throws IOException {
-    FileInputStream inputStream;
-    FileOutputStream outputStream;
+    BufferedInputStream inputStream;
+    BufferedOutputStream outputStream;
     int nrBytesRead;
     byte[] buffer = new byte[FILE_COPY_BUFFER_SIZE];
 
-    inputStream = new FileInputStream(aSourceFile);
+    inputStream = new BufferedInputStream(
+      new FileInputStream(aSourceFile));
     try {
       File directory = new File(aDestinationFile.getParent());
         if (directory!=null && !directory.exists()){
           directory.mkdirs();
       }
-      outputStream = new FileOutputStream(aDestinationFile);
+      outputStream = new BufferedOutputStream(
+        new FileOutputStream(aDestinationFile),8192);
       try {
         do {
           nrBytesRead = inputStream.read(buffer);