package com.myMinistry.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.support.v4.content.ContextCompat;
public class FileUtils {
public static void copyFile(File fromFile, File toFile) throws IOException {
FileInputStream fromFileStream = new FileInputStream(fromFile);
FileOutputStream toFileStream = new FileOutputStream(toFile);
FileChannel fromChannel = fromFileStream.getChannel();
FileChannel toChannel = toFileStream.getChannel();
try {
fromChannel.transferTo(0, fromChannel.size(), toChannel);
} finally {
if (fromChannel != null)
fromChannel.close();
if (toChannel != null)
toChannel.close();
fromFileStream.close();
toFileStream.close();
}
}
@TargetApi(Build.VERSION_CODES.FROYO)
public static File getExternalDBFile(Context context, String fileName) {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
return new File(context.getExternalFilesDir(null), fileName);
}
else {
File[] extDBPath = ContextCompat.getExternalFilesDirs(context, null);
if(extDBPath != null) {
if(!extDBPath[0].exists()) {
extDBPath[0].mkdirs();
}
return new File(extDBPath[0], fileName);
}
}
return null;
}
}