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有所帮助。