您的位置:首页 > 移动开发 > Android开发

Android中关于sdcard的操作

2012-12-28 00:00 375 查看
读取sdcard下某个路径所有文件,读完之后删除

首先我写的demo是在服务中(Service)里写的,大家可以在activity里编写。

第一次写,大家见谅,废话不多说,贴代码。。。

import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.util.EncodingUtils;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class Desp_Service extends Service {
private static final String FILEPATH = "/mnt/sdcard/CloudAlive/CrashLog"; // 设置路径
private List fileList;

@Override
public IBinder onBind(Intent arg0) {

return null;
}

@Override
public void onCreate() {
super.onCreate();
}

就是扫描文件

private void readFile(File[] file) {
for (int i = 0; file != null && i < file.length; i++) {
// 判读是否文件以及文件后缀名
if (file[i].isFile() && file[i].getName().endsWith("txt")) {
fileList.add(file[i].toString());
} else if (file[i].isDirectory()) {// 如果是文件夹,递归扫描
File[] newFileList = new File(file[i].getAbsolutePath())
.listFiles();
readFile(newFileList);
// 通过多线程来加速

}
}
}

public void onStart(Intent intent, int startId) {
String res = "";
try {
fileList = new ArrayList();

// 设定扫描路径
File[] files = new File(FILEPATH).listFiles();// 设定扫描路径
readFile(files);
for (File file : files) {
Log.i("syso", "" + file);
FileInputStream fin = new FileInputStream(file);
int length = fin.available();
byte[] buffer = new byte[length];
fin.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
System.out.println(res);
if(file.exists()){
boolean isDelete = file.delete();
if (isDelete = true) {
System.out.println("删除成功!!");
} else {
System.out.println("删除失败!!");
}
}else{
System.out.println("没有文件,不用删除!!");
}
fin.close();
}
} catch (Exception e) {
e.printStackTrace();
}
super.onStart(intent, startId);
}

@Override
public void onDestroy() {
super.onDestroy();
}
}

要代码的,留下email,

收工搞定!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android sdcard