BAEL-1308 - Copy a File with Java (#3000)

* Create Student.java

* Create ApplicationContextTestBeanInjection.java

* Update Student.java

* added tests

added tests

* BAEL-1308

part 1

* Create test_stream.txt

* Create test_files.txt

* Create test_channel.txt

* Create test_apache.txt

* Create test.txt

* Delete test.txt

* Create readme.txt

* Delete Student.java

* Delete StudentInjectionTest.java

* Delete ApplicationContextTestBeanInjection.java
This commit is contained in:
Pazis
2017-12-16 14:18:09 +02:00
committed by Grzegorz Piwowarek
parent bac07e4dca
commit a5f78cf7d5
7 changed files with 101 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
package com.baeldung.stream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;
import java.nio.file.Files;
import org.apache.commons.io.FileUtils;
public class FileCopy {
public static void copyFileUsingStream(File source, File dest) throws IOException {
InputStream is = null;
OutputStream os = null;
is = new FileInputStream(source);
os = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
is.close();
os.close();
}
public static void copyFileUsingChannel(File source, File dest) throws IOException {
FileChannel sourceChannel = null;
FileChannel destChannel = null;
sourceChannel = new FileInputStream(source).getChannel();
destChannel = new FileOutputStream(dest).getChannel();
destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
sourceChannel.close();
destChannel.close();
}
public static void copyFileUsingApacheCommonsIO(File source, File dest) throws IOException {
FileUtils.copyFile(source, dest);
}
public static void copyFileUsingJavaFiles(File source, File dest) throws IOException {
Files.copy(source.toPath(), dest.toPath());
}
}