package safeluck.drive.evaluation.util;
|
|
import android.app.Application;
|
import android.content.Context;
|
import android.content.res.Resources;
|
import android.os.Environment;
|
import android.text.TextUtils;
|
import android.util.Log;
|
|
import com.anyun.exam.lib.MyLog;
|
|
import java.io.BufferedReader;
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.InputStreamReader;
|
import java.io.OutputStream;
|
|
public class FileUtil {
|
private static final String TAG = "FileUtil";
|
/**
|
* 读取assert目录下 txt文本文件内容
|
* @param context
|
* @param assetFileName
|
* @return
|
*/
|
public static StringBuffer readAssetTxtFile(Context context, String assetFileName) {
|
String lineTxt = null;
|
StringBuffer stringBuffer = new StringBuffer();
|
try {
|
InputStream inputStream = null;
|
try {
|
inputStream = context.getAssets()
|
.open(assetFileName);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
|
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
|
while((lineTxt = bufferedReader.readLine()) != null){
|
System.out.println(lineTxt);
|
stringBuffer.append(lineTxt);
|
|
}
|
inputStreamReader.close();
|
bufferedReader.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return stringBuffer;
|
}
|
|
public static void createdirs(Context context){
|
String dir = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+context.getPackageName();
|
|
File file = new File(dir);
|
if (!file.exists()){
|
file.mkdir();
|
}else{
|
Log.i(TAG, "createdirs: 目录已经存在");
|
}
|
|
}
|
|
public static StringBuffer readTxtFileFromSD(Context context,String fileName,boolean isRootDir){
|
String lineTxt = null;
|
StringBuffer stringBuffer = new StringBuffer();
|
try {
|
String dir = Environment.getExternalStorageDirectory().getAbsolutePath()+"/";
|
InputStream inputStream = null;
|
if (isRootDir){
|
|
}else{
|
|
dir = dir+context.getPackageName();
|
}
|
File file = new File(dir,fileName);
|
if (!file.exists()){
|
MyLog.d(TAG,dir+"目录下"+fileName+"文件不存在");
|
return null;
|
}
|
try {
|
inputStream = new FileInputStream(file);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
|
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
|
while((lineTxt = bufferedReader.readLine()) != null){
|
System.out.println(lineTxt);
|
stringBuffer.append(lineTxt);
|
|
}
|
inputStreamReader.close();
|
bufferedReader.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return stringBuffer;
|
}
|
public static StringBuffer readMCUtFileFromSD(Context context,String fileName){
|
String lineTxt = null;
|
StringBuffer stringBuffer = new StringBuffer();
|
try {
|
String dir = Environment.getExternalStorageDirectory().getAbsolutePath()+"/";
|
InputStream inputStream = null;
|
|
File file = new File(dir,fileName);
|
if (!file.exists()){
|
MyLog.d(TAG,dir+"目录下"+fileName+"文件不存在");
|
return null;
|
}
|
try {
|
inputStream = new FileInputStream(file);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"ISO-8859-1");
|
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
|
while((lineTxt = bufferedReader.readLine()) != null){
|
|
stringBuffer.append(lineTxt);
|
|
}
|
inputStreamReader.close();
|
bufferedReader.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return stringBuffer;
|
}
|
/**
|
*
|
* @param fromFile 源文件路径包括文件名(绝对路径)
|
* @param toFile
|
*/
|
public static void copyFile(String fromFile,String toFile){
|
|
try {
|
InputStream inputStream =new FileInputStream(fromFile);
|
OutputStream outputStream = new FileOutputStream(toFile);
|
byte[] bytes = new byte[1024];
|
while ((inputStream.read(bytes))>0){
|
outputStream.write(bytes);
|
}
|
inputStream.close();
|
outputStream.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
}
|
|
/**
|
* 拷贝assert目录下的文件到 安装包目录下
|
* @param context
|
* @param assertfileName
|
*/
|
public static void copyAssertFileToSD(Context context,String assertfileName){
|
try {
|
InputStream inputStream = null;
|
try {
|
inputStream = context.getAssets()
|
.open(assertfileName);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
OutputStream outputStream = new FileOutputStream( new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+context.getPackageName(), assertfileName));
|
byte[] bytes = new byte[1024];
|
while ((inputStream.read(bytes))>0){
|
outputStream.write(bytes);
|
}
|
inputStream.close();
|
outputStream.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|