|
package com.example.open.diffusion; |
|
|
|
import android.content.Context; |
|
import android.content.res.AssetFileDescriptor; |
|
import android.content.res.AssetManager; |
|
import android.util.Log; |
|
|
|
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; |
|
|
|
|
|
|
|
|
|
public class FileUtils { |
|
|
|
public static void copyAssets(AssetManager assetManager, String path, File outPath) throws IOException { |
|
String[] assets = assetManager.list(path); |
|
|
|
if (assets != null) { |
|
if (assets.length == 0) { |
|
copyFile(assetManager, path, outPath); |
|
} else { |
|
File dir = new File(outPath, path); |
|
if (!dir.exists()) { |
|
if (!dir.mkdirs()) { |
|
Log.v("copyAssets", "Failed to create directory " + dir.getAbsolutePath()); |
|
} |
|
} |
|
|
|
String[] var5 = assets; |
|
int var6 = assets.length; |
|
|
|
for(int var7 = 0; var7 < var6; ++var7) { |
|
String asset = var5[var7]; |
|
copyAssets(assetManager, path + "/" + asset, outPath); |
|
} |
|
} |
|
|
|
} |
|
} |
|
|
|
private static void copyFile(AssetManager assetManager, String fileName, File outPath) throws IOException { |
|
Log.v("copyFile", "Copy " + fileName + " to " + outPath); |
|
InputStream in = assetManager.open(fileName); |
|
OutputStream out = new FileOutputStream(outPath + "/" + fileName); |
|
byte[] buffer = new byte[4000]; |
|
|
|
int read; |
|
while((read = in.read(buffer)) != -1) { |
|
out.write(buffer, 0, read); |
|
} |
|
|
|
in.close(); |
|
out.close(); |
|
} |
|
} |
|
|