java编写的文件管理器代码分享
比较适合新手。逻辑上仍然有点问题。可以用于学习java文件操作
下载地址:http://yun.baidu.com/share/link?shareid=4184742416&uk=1312160419
下面是主要的JAVA文件操作代码
FileHelp.java
packageself.yy.filesystem.fileutil;
importandroid.content.Context;
importandroid.util.Log;
importandroid.widget.Toast;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.net.URI;
importjava.nio.channels.FileChannel;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Calendar;
importjava.util.List;
/**
*文件的相关帮助类
*/
publicclassFileHelp{
privatestaticfinalStringTAG="FileHelp";
publicstaticfinalStringJPG=".jpg";
publicstaticfinalStringPNG=".png";
publicstaticfinalStringMP3=".mp3";
publicstaticfinalStringMP4=".mp4";
publicstaticfinalStringAPK=".apk";
//上下文
privatestaticContextcontext;
/**
*txt文本
*/
publicstaticintISTXT=0;
privatestaticStringTXT=".txt";
/**
*文件删除
*/
publicstaticbooleandeletfile(Filefile){
if(file.isDirectory()){
if(file.listFiles().length>0){
for(Filei:file.listFiles()){
deletfile(i);
}
}else{
file.delete();
}
}else{
file.delete();
}
file.delete();
returntrue;
}
/**
*新建文件夹
*返回true文件创建成功
*返回false文件创建失败->文件存在
*返回true文件创建成功,返回false文件创建失败(文件存在、权限不够)
*/
publicstaticbooleancreatFile(Stringfilename,Stringpath){
Filefile=newFile(path+File.separator+filename);
if(file.exists()){
returnfalse;
}else{
file.mkdir();
returntrue;
}
}
/**
*创建自定义文件类型文件
*随意为文件夹
*0txt文本
*
*@returnboolean
*返回true文件创建成功,返回false文件创建失败(文件存在、权限不够)
**
*/
publicstaticbooleancreatFile(Stringfilename,Stringpath,inttype){
Stringptr=path+File.separator+filename;
Filefile;
switch(type){
case0:
file=newFile(ptr+TXT);
break;
default:
file=newFile(ptr);
break;
}
if(file.exists()){
returnfalse;
}else{
try{
file.createNewFile();
returntrue;
}catch(IOExceptione){
returnfalse;
}
}
}
/**
*文件重名
*
*@paramname新创建的文件名
*@paramfile创建文件的地方
*/
publicstaticbooleanreName(Stringname,Filefile){
StringpathStr=file.getParent()+File.separator+name;
returnfile.renameTo(newFile(pathStr));
}
/**
*文件复制
*
*@paramoldFile要被复制的文件
*@paramtoNewPath复制到的地方
*@returnbooleantrun复制成功,false复制失败
**
*/
publicstaticbooleancopeyFile(FileoldFile,StringtoNewPath){
Stringnewfilepath=toNewPath+File.separator+oldFile.getName();
Filetemp=newFile(newfilepath);
//判断复制到的文件路径是否存在相对文件,如果存在,停止该操作
if(temp.exists()){
returnfalse;
}
//判断复制的文件类型是否是文件夹
if(oldFile.isDirectory()){
temp.mkdir();
for(Filei:oldFile.listFiles()){
copeyFile(i,temp.getPath());
}
}else{
//如果是文件,则进行管道复制
try{
//从文件流中创建管道
FileInputStreamfis=newFileInputStream(oldFile);
FileChannelcreatChannel=fis.getChannel();
//在文件输出目标创建管道
FileOutputStreamfos=newFileOutputStream(newfilepath);
FileChannelgetChannel=fos.getChannel();
//进行文件复制(管道对接)
getChannel.transferFrom(creatChannel,0,creatChannel.size());
getChannel.close();
creatChannel.close();
fos.flush();
fos.close();
fis.close();
}catch(Exceptione){
Log.i(TAG,"copeydefeated,mebeyfilewasexisted");
e.printStackTrace();
returnfalse;
}
}
returntrue;
}
/**
*文件剪切
*
*@paramoldFile要被剪切的文件
*@paramnewFilePath剪切到的地方
*@returnbooleantrun剪切成功,false剪切失败
*/
publicstaticbooleancutFile(FileoldFile,StringnewFilePath){
if(copeyFile(oldFile,newFilePath)){
oldFile.delete();
returntrue;
}else{
returnfalse;
}
}
/**
*获取对应文件类型的问件集
*
*@paramdir文件夹
*@paramtype文件类型,格式".xxx"
*@returnList<file>文件集合
*/
publicstaticList<File>getTheTypeFile(Filedir,Stringtype){
List<File>files=newArrayList<File>();
for(Filei:dir.listFiles()){
StringfilesTyepe=getFileType(i);
if(type.equals(filesTyepe)){
files.add(i);
}
}
returnfiles;
}
/**
*获取文件类型
*
*@paramfile需要验证的文件
*@returnString文件类型
*如:
*传入文件名为“test.txt”的文件
*返回.txt
**
*/
publicstaticStringgetFileType(Filefile){
StringfileName=file.getName();
if(fileName.contains(".")){
StringfileType=fileName.substring(fileName.lastIndexOf("."),
fileName.length());
returnfileType;
}else{
returnnull;
}
}
/**
*获取文件最后操作时间类
*
*@paramfile需要查询的文件类
*@return“yy/MM/ddHH:mm:ss”的数据字符串
*如:
*14/07/0101:02:03
*/
publicstaticStringgetCreatTime(Filefile){
longtime=file.lastModified();
Calendarcalendar=Calendar.getInstance();
SimpleDateFormatdateFormat=newSimpleDateFormat("yy/MM/ddHH:mm:ss");
Stringdate=dateFormat.format(calendar.getTime());
returndate;
}
}
以上所述就是本文的全部内容了,希望能够对大家学习java有所帮助。