本文实例讲述了Android开发中的文件操作工具类FileUtil。分享给大家供大家参考,具体如下:
packagecom.ymerp.android.tools;
importjava.io.BufferedReader;
importjava.io.ByteArrayOutputStream;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.LineNumberReader;
importjava.io.OutputStream;
importjava.io.Reader;
importjava.text.DecimalFormat;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
importandroid.content.Context;
importandroid.graphics.Bitmap;
importandroid.graphics.Bitmap.Config;
importandroid.graphics.BitmapFactory;
importandroid.os.Environment;
importandroid.util.Log;
importandroid.widget.Toast;
/**
*文件操作工具
*
*@authorchen.lin
*
*/
publicclassFileUtil{
privatestaticfinalStringTAG="FileUtil";
/**
*从sd卡取文件
*
*@paramfilename
*@return
*/
publicStringgetFileFromSdcard(Stringfilename){
ByteArrayOutputStreamoutputStream=null;
FileInputStreamfis=null;
try{
outputStream=newByteArrayOutputStream();
Filefile=newFile(Environment.getExternalStorageDirectory(),filename);
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
fis=newFileInputStream(file);
intlen=0;
byte[]data=newbyte[1024];
while((len=fis.read(data))!=-1){
outputStream.write(data,0,len);
}
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
outputStream.close();
fis.close();
}catch(IOExceptione){
}
}
returnnewString(outputStream.toByteArray());
}
/**
*保存文件到sd
*
*@paramfilename
*@paramcontent
*@return
*/
publicstaticbooleansaveContentToSdcard(Stringfilename,Stringcontent){
booleanflag=false;
FileOutputStreamfos=null;
try{
Filefile=newFile(Environment.getExternalStorageDirectory(),filename);
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
fos=newFileOutputStream(file);
fos.write(content.getBytes());
flag=true;
}
}catch(Exceptione){
e.printStackTrace();
flag=false;
}finally{
try{
fos.close();
}catch(IOExceptione){
}
}
returnflag;
}
/**
*取得文件大小
*
*@paramf
*@return
*@throwsException
*/
@SuppressWarnings("resource")
publicstaticlonggetFileSizes(Filef)throwsException{
longsize=0;
if(f.exists()){
FileInputStreamfis=null;
fis=newFileInputStream(f);
size=fis.available();
}else{
f.createNewFile();
}
returnsize;
}
/**
*递归取得文件夹大小
*
*@paramdir
*@return
*@throwsException
*/
publicstaticlonggetFileSize(Filedir)throwsException{
longsize=0;
Fileflist[]=dir.listFiles();
for(inti=0;i=0){
result+=file.getPath()+"\n";
}
}
if(result.equals("")){
result="找不到文件!!";
}
returnresult;
}
/**
*@detail搜索sdcard文件
*@param需要进行文件搜索的目录
*@param过滤搜索文件类型
**/
publicstaticListsearch(Filefile,String[]ext){
Listlist=newArrayList();
if(file!=null){
if(file.isDirectory()){
File[]listFile=file.listFiles();
if(listFile!=null){
for(inti=0;iFindFile(Filefile,Stringkeyword){
Listlist=newArrayList();
if(file.isDirectory()){
File[]files=file.listFiles();
if(files!=null){
for(Filetempf:files){
if(tempf.isDirectory()){
if(tempf.getName().toLowerCase().lastIndexOf(keyword)>-1){
list.add(tempf);
}
list.addAll(FindFile(tempf,keyword));
}else{
if(tempf.getName().toLowerCase().lastIndexOf(keyword)>-1){
list.add(tempf);
}
}
}
}
}
returnlist;
}
/**
*searchFile查找文件并加入到ArrayList当中去
*
*@paramcontext
*@paramkeyword
*@paramfilepath
*@return
*/
publicstaticList
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。