android 开发中的文件操作
android 记得用mkdirs不要用mkdir
分类:Android 2011-10-29 16:55 3317人阅读 评论(0) 收藏 举报 android file string output exception input反正加s就对了,mkdir不能创建多个目录
《------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------》
android的文件操作要有权限:
view plain copy to clipboard- <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
- <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
SD卡下的文件操作:
1、判断SD卡是否插入
view plain copy to clipboard- Environment.getExternalStorageState().equals(
- android.os.Environment.MEDIA_MOUNTED);
- Environment.getExternalStorageState().equals(
- android.os.Environment.MEDIA_MOUNTED);
2、获得sd卡根目录:
view plain copy to clipboard- FileskRoot=Environment.getExternalStorageDirectory();
- FileskRoot=Environment.getExternalStorageDirectory();
私有目录下的文件操作:
1、获得私有根目录:
view plain copy to clipboard- FilefileRoot=Context.getFilesDir()+"//";
- FilefileRoot=Context.getFilesDir()+"//";
还未整理
文件夹或文件夹操作:
1、确定或获得文件夹和文件路径
a、获得文件或文件夹的绝对路径和相对路径。区别
view plain copy to clipboard
- Stringpath=File.getPath();//相对
- Stringpath=File.getAbsoultePath();//绝对
- Stringpath=File.getPath();//相对
- Stringpath=File.getAbsoultePath();//绝对
b、获得文件或文件夹的父目录
view plain copy to clipboard- StringparentPath=File.getParent();
- StringparentPath=File.getParent();
c、获得文件或文件夹的名称:
view plain copy to clipboard- StringName=File.getName();
- StringName=File.getName();
2、建立文件或文件夹
view plain copy to clipboard- File.mkDir();//建立文件夹
- File.createNewFile();//建立文件
- File.mkDir();//建立文件夹
- File.createNewFile();//建立文件
3、判断是文件或文件夹
view plain copy to clipboard- File.isDirectory()
- File.isDirectory()
4、列出文件夹下的所有文件和文件夹名
view plain copy to clipboard- File[]files=File.listFiles();
- File[]files=File.listFiles();
5、修改文件夹和文件名
view plain copy to clipboard- File.renameTo(dest);
- File.renameTo(dest);
6、删除文件夹或文件
view plain copy to clipboard- File.delete();
- File.delete();
view plain copy to clipboard
- packageotheri.common;
- importjava.io.File;
- importjava.io.FileInputStream;
- importjava.io.FileOutputStream;
- importjava.io.IOException;
- importjava.io.InputStream;
- importjava.io.OutputStream;
- importotheri.io.Input;
- importotheri.io.Output;
- importandroid.content.Context;
- importandroid.os.Environment;
- publicclassFileHelper{
- privateContextcontext;
- privateStringSDPATH;
- privateStringFILESPATH;
- publicFileHelper(Contextcontext){
- this.context=context;
- SDPATH=Environment.getExternalStorageDirectory().getPath()+"//";
- FILESPATH=this.context.getFilesDir().getPath()+"//";
- }
- /**
- *在SD卡上创建文件
- *
- *@throwsIOException
- */
- publicFilecreatSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- file.createNewFile();
- returnfile;
- }
- /**
- *删除SD卡上的文件
- *
- *@paramfileName
- */
- publicbooleandelSDFile(StringfileName){
- Filefile=newFile(SDPATH+fileName);
- if(file==null||!file.exists()||file.isDirectory())
- returnfalse;
- file.delete();
- returntrue;
- }
- /**
- *在SD卡上创建目录
- *
- *@paramdirName
- */
- publicFilecreatSDDir(StringdirName){
- Filedir=newFile(SDPATH+dirName);
- dir.mkdir();
- returndir;
- }
- /**
- *删除SD卡上的目录
- *
- *@paramdirName
- */
- publicbooleandelSDDir(StringdirName){
- Filedir=newFile(SDPATH+dirName);
- returndelDir(dir);
- }
- /**
- *修改SD卡上的文件或目录名
- *
- *@paramfileName
- */
- publicbooleanrenameSDFile(StringoldfileName,StringnewFileName){
- FileoleFile=newFile(SDPATH+oldfileName);
- FilenewFile=newFile(SDPATH+newFileName);
- returnoleFile.renameTo(newFile);
- }
- /**
- *拷贝SD卡上的单个文件
- *
- *@parampath
- *@throwsIOException
- */
- publicbooleancopySDFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(SDPATH+srcFileName);
- FiledestFile=newFile(SDPATH+destFileName);
- returncopyFileTo(srcFile,destFile);
- }
- /**
- *拷贝SD卡上指定目录的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleancopySDFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(SDPATH+srcDirName);
- FiledestDir=newFile(SDPATH+destDirName);
- returncopyFilesTo(srcDir,destDir);
- }
- /**
- *移动SD卡上的单个文件
- *
- *@paramsrcFileName
- *@paramdestFileName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveSDFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(SDPATH+srcFileName);
- FiledestFile=newFile(SDPATH+destFileName);
- returnmoveFileTo(srcFile,destFile);
- }
- /**
- *移动SD卡上的指定目录的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveSDFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(SDPATH+srcDirName);
- FiledestDir=newFile(SDPATH+destDirName);
- returnmoveFilesTo(srcDir,destDir);
- }
- /*
- *将文件写入sd卡。如:writeSDFile("test.txt");
- */
- publicOutputwriteSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- FileOutputStreamfos=newFileOutputStream(file);
- returnnewOutput(fos);
- }
- /*
- *在原有文件上继续写文件。如:appendSDFile("test.txt");
- */
- publicOutputappendSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- FileOutputStreamfos=newFileOutputStream(file,true);
- returnnewOutput(fos);
- }
- /*
- *从SD卡读取文件。如:readSDFile("test.txt");
- */
- publicInputreadSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- FileInputStreamfis=newFileInputStream(file);
- returnnewInput(fis);
- }
- /**
- *建立私有文件
- *
- *@paramfileName
- *@return
- *@throwsIOException
- */
- publicFilecreatDataFile(StringfileName)throwsIOException{
- Filefile=newFile(FILESPATH+fileName);
- file.createNewFile();
- returnfile;
- }
- /**
- *建立私有目录
- *
- *@paramdirName
- *@return
- */
- publicFilecreatDataDir(StringdirName){
- Filedir=newFile(FILESPATH+dirName);
- dir.mkdir();
- returndir;
- }
- /**
- *删除私有文件
- *
- *@paramfileName
- *@return
- */
- publicbooleandelDataFile(StringfileName){
- Filefile=newFile(FILESPATH+fileName);
- returndelFile(file);
- }
- /**
- *删除私有目录
- *
- *@paramdirName
- *@return
- */
- publicbooleandelDataDir(StringdirName){
- Filefile=newFile(FILESPATH+dirName);
- returndelDir(file);
- }
- /**
- *更改私有文件名
- *
- *@paramoldName
- *@paramnewName
- *@return
- */
- publicbooleanrenameDataFile(StringoldName,StringnewName){
- FileoldFile=newFile(FILESPATH+oldName);
- FilenewFile=newFile(FILESPATH+newName);
- returnoldFile.renameTo(newFile);
- }
- /**
- *在私有目录下进行文件复制
- *
- *@paramsrcFileName
- *:包含路径及文件名
- *@paramdestFileName
- *@return
- *@throwsIOException
- */
- publicbooleancopyDataFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(FILESPATH+srcFileName);
- FiledestFile=newFile(FILESPATH+destFileName);
- returncopyFileTo(srcFile,destFile);
- }
- /**
- *复制私有目录里指定目录的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleancopyDataFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(FILESPATH+srcDirName);
- FiledestDir=newFile(FILESPATH+destDirName);
- returncopyFilesTo(srcDir,destDir);
- }
- /**
- *移动私有目录下的单个文件
- *
- *@paramsrcFileName
- *@paramdestFileName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveDataFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(FILESPATH+srcFileName);
- FiledestFile=newFile(FILESPATH+destFileName);
- returnmoveFileTo(srcFile,destFile);
- }
- /**
- *移动私有目录下的指定目录下的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveDataFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(FILESPATH+srcDirName);
- FiledestDir=newFile(FILESPATH+destDirName);
- returnmoveFilesTo(srcDir,destDir);
- }
- /*
- *将文件写入应用私有的files目录。如:writeFile("test.txt");
- */
- publicOutputwirteFile(StringfileName)throwsIOException{
- OutputStreamos=context.openFileOutput(fileName,
- Context.MODE_WORLD_WRITEABLE);
- returnnewOutput(os);
- }
- /*
- *在原有文件上继续写文件。如:appendFile("test.txt");
- */
- publicOutputappendFile(StringfileName)throwsIOException{
- OutputStreamos=context.openFileOutput(fileName,Context.MODE_APPEND);
- returnnewOutput(os);
- }
- /*
- *从应用的私有目录files读取文件。如:readFile("test.txt");
- */
- publicInputreadFile(StringfileName)throwsIOException{
- InputStreamis=context.openFileInput(fileName);
- returnnewInput(is);
- }
- /**********************************************************************************************************/
- /*********************************************************************************************************/
- */
- /**
- *删除一个文件
- *
- *@paramfile
- *@return
- */
- publicbooleandelFile(Filefile){
- if(file.isDirectory())
- returnfalse;
- returnfile.delete();
- }
- /**
- *删除一个目录(可以是非空目录)
- *
- *@paramdir
- */
- publicbooleandelDir(Filedir){
- if(dir==null||!dir.exists()||dir.isFile()){
- returnfalse;
- }
- for(Filefile:dir.listFiles()){
- if(file.isFile()){
- file.delete();
- }elseif(file.isDirectory()){
- delDir(file);//递归
- }
- }
- dir.delete();
- returntrue;
- }
- /**
- *拷贝一个文件,srcFile源文件,destFile目标文件
- *
- *@parampath
- *@throwsIOException
- */
- publicbooleancopyFileTo(FilesrcFile,FiledestFile)throwsIOException{
- if(srcFile.isDirectory()||destFile.isDirectory())
- returnfalse;//判断是否是文件
- FileInputStreamfis=newFileInputStream(srcFile);
- FileOutputStreamfos=newFileOutputStream(destFile);
- intreadLen=0;
- byte[]buf=newbyte[1024];
- while((readLen=fis.read(buf))!=-1){
- fos.write(buf,0,readLen);
- }
- fos.flush();
- fos.close();
- fis.close();
- returntrue;
- }
- /**
- *拷贝目录下的所有文件到指定目录
- *
- *@paramsrcDir
- *@paramdestDir
- *@return
- *@throwsIOException
- */
- publicbooleancopyFilesTo(FilesrcDir,FiledestDir)throwsIOException{
- if(!srcDir.isDirectory()||!destDir.isDirectory())
- returnfalse;//判断是否是目录
- if(!destDir.exists())
- returnfalse;//判断目标目录是否存在
- File[]srcFiles=srcDir.listFiles();
- for(inti=0;i<srcFiles.length;i++){
- if(srcFiles[i].isFile()){
- //获得目标文件
- FiledestFile=newFile(destDir.getPath()+"//"
- +srcFiles[i].getName());
- copyFileTo(srcFiles[i],destFile);
- }elseif(srcFiles[i].isDirectory()){
- FiletheDestDir=newFile(destDir.getPath()+"//"
- +srcFiles[i].getName());
- copyFilesTo(srcFiles[i],theDestDir);
- }
- }
- returntrue;
- }
- /**
- *移动一个文件
- *
- *@paramsrcFile
- *@paramdestFile
- *@return
- *@throwsIOException
- */
- publicbooleanmoveFileTo(FilesrcFile,FiledestFile)throwsIOException{
- booleaniscopy=copyFileTo(srcFile,destFile);
- if(!iscopy)
- returnfalse;
- delFile(srcFile);
- returntrue;
- }
- /**
- *移动目录下的所有文件到指定目录
- *
- *@paramsrcDir
- *@paramdestDir
- *@return
- *@throwsIOException
- */
- publicbooleanmoveFilesTo(FilesrcDir,FiledestDir)throwsIOException{
- if(!srcDir.isDirectory()||!destDir.isDirectory()){
- returnfalse;
- }
- File[]srcDirFiles=srcDir.listFiles();
- for(inti=0;i<srcDirFiles.length;i++){
- if(srcDirFiles[i].isFile()){
- FileoneDestFile=newFile(destDir.getPath()+"//"
- +srcDirFiles[i].getName());
- moveFileTo(srcDirFiles[i],oneDestFile);
- delFile(srcDirFiles[i]);
- }elseif(srcDirFiles[i].isDirectory()){
- FileoneDestFile=newFile(destDir.getPath()+"//"
- +srcDirFiles[i].getName());
- moveFilesTo(srcDirFiles[i],oneDestFile);
- delDir(srcDirFiles[i]);
- }
- }
- returntrue;
- }
- }
- packageotheri.common;
- importjava.io.File;
- importjava.io.FileInputStream;
- importjava.io.FileOutputStream;
- importjava.io.IOException;
- importjava.io.InputStream;
- importjava.io.OutputStream;
- importotheri.io.Input;
- importotheri.io.Output;
- importandroid.content.Context;
- importandroid.os.Environment;
- publicclassFileHelper{
- privateContextcontext;
- privateStringSDPATH;
- privateStringFILESPATH;
- publicFileHelper(Contextcontext){
- this.context=context;
- SDPATH=Environment.getExternalStorageDirectory().getPath()+"//";
- FILESPATH=this.context.getFilesDir().getPath()+"//";
- }
- /**
- *在SD卡上创建文件
- *
- *@throwsIOException
- */
- publicFilecreatSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- file.createNewFile();
- returnfile;
- }
- /**
- *删除SD卡上的文件
- *
- *@paramfileName
- */
- publicbooleandelSDFile(StringfileName){
- Filefile=newFile(SDPATH+fileName);
- if(file==null||!file.exists()||file.isDirectory())
- returnfalse;
- file.delete();
- returntrue;
- }
- /**
- *在SD卡上创建目录
- *
- *@paramdirName
- */
- publicFilecreatSDDir(StringdirName){
- Filedir=newFile(SDPATH+dirName);
- dir.mkdir();
- returndir;
- }
- /**
- *删除SD卡上的目录
- *
- *@paramdirName
- */
- publicbooleandelSDDir(StringdirName){
- Filedir=newFile(SDPATH+dirName);
- returndelDir(dir);
- }
- /**
- *修改SD卡上的文件或目录名
- *
- *@paramfileName
- */
- publicbooleanrenameSDFile(StringoldfileName,StringnewFileName){
- FileoleFile=newFile(SDPATH+oldfileName);
- FilenewFile=newFile(SDPATH+newFileName);
- returnoleFile.renameTo(newFile);
- }
- /**
- *拷贝SD卡上的单个文件
- *
- *@parampath
- *@throwsIOException
- */
- publicbooleancopySDFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(SDPATH+srcFileName);
- FiledestFile=newFile(SDPATH+destFileName);
- returncopyFileTo(srcFile,destFile);
- }
- /**
- *拷贝SD卡上指定目录的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleancopySDFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(SDPATH+srcDirName);
- FiledestDir=newFile(SDPATH+destDirName);
- returncopyFilesTo(srcDir,destDir);
- }
- /**
- *移动SD卡上的单个文件
- *
- *@paramsrcFileName
- *@paramdestFileName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveSDFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(SDPATH+srcFileName);
- FiledestFile=newFile(SDPATH+destFileName);
- returnmoveFileTo(srcFile,destFile);
- }
- /**
- *移动SD卡上的指定目录的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveSDFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(SDPATH+srcDirName);
- FiledestDir=newFile(SDPATH+destDirName);
- returnmoveFilesTo(srcDir,destDir);
- }
- /*
- *将文件写入sd卡。如:writeSDFile("test.txt");
- */
- publicOutputwriteSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- FileOutputStreamfos=newFileOutputStream(file);
- returnnewOutput(fos);
- }
- /*
- *在原有文件上继续写文件。如:appendSDFile("test.txt");
- */
- publicOutputappendSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- FileOutputStreamfos=newFileOutputStream(file,true);
- returnnewOutput(fos);
- }
- /*
- *从SD卡读取文件。如:readSDFile("test.txt");
- */
- publicInputreadSDFile(StringfileName)throwsIOException{
- Filefile=newFile(SDPATH+fileName);
- FileInputStreamfis=newFileInputStream(file);
- returnnewInput(fis);
- }
- /**
- *建立私有文件
- *
- *@paramfileName
- *@return
- *@throwsIOException
- */
- publicFilecreatDataFile(StringfileName)throwsIOException{
- Filefile=newFile(FILESPATH+fileName);
- file.createNewFile();
- returnfile;
- }
- /**
- *建立私有目录
- *
- *@paramdirName
- *@return
- */
- publicFilecreatDataDir(StringdirName){
- Filedir=newFile(FILESPATH+dirName);
- dir.mkdir();
- returndir;
- }
- /**
- *删除私有文件
- *
- *@paramfileName
- *@return
- */
- publicbooleandelDataFile(StringfileName){
- Filefile=newFile(FILESPATH+fileName);
- returndelFile(file);
- }
- /**
- *删除私有目录
- *
- *@paramdirName
- *@return
- */
- publicbooleandelDataDir(StringdirName){
- Filefile=newFile(FILESPATH+dirName);
- returndelDir(file);
- }
- /**
- *更改私有文件名
- *
- *@paramoldName
- *@paramnewName
- *@return
- */
- publicbooleanrenameDataFile(StringoldName,StringnewName){
- FileoldFile=newFile(FILESPATH+oldName);
- FilenewFile=newFile(FILESPATH+newName);
- returnoldFile.renameTo(newFile);
- }
- /**
- *在私有目录下进行文件复制
- *
- *@paramsrcFileName
- *:包含路径及文件名
- *@paramdestFileName
- *@return
- *@throwsIOException
- */
- publicbooleancopyDataFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(FILESPATH+srcFileName);
- FiledestFile=newFile(FILESPATH+destFileName);
- returncopyFileTo(srcFile,destFile);
- }
- /**
- *复制私有目录里指定目录的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleancopyDataFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(FILESPATH+srcDirName);
- FiledestDir=newFile(FILESPATH+destDirName);
- returncopyFilesTo(srcDir,destDir);
- }
- /**
- *移动私有目录下的单个文件
- *
- *@paramsrcFileName
- *@paramdestFileName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveDataFileTo(StringsrcFileName,StringdestFileName)
- throwsIOException{
- FilesrcFile=newFile(FILESPATH+srcFileName);
- FiledestFile=newFile(FILESPATH+destFileName);
- returnmoveFileTo(srcFile,destFile);
- }
- /**
- *移动私有目录下的指定目录下的所有文件
- *
- *@paramsrcDirName
- *@paramdestDirName
- *@return
- *@throwsIOException
- */
- publicbooleanmoveDataFilesTo(StringsrcDirName,StringdestDirName)
- throwsIOException{
- FilesrcDir=newFile(FILESPATH+srcDirName);
- FiledestDir=newFile(FILESPATH+destDirName);
- returnmoveFilesTo(srcDir,destDir);
- }
- /*
- *将文件写入应用私有的files目录。如:writeFile("test.txt");
- */
- publicOutputwirteFile(StringfileName)throwsIOException{
- OutputStreamos=context.openFileOutput(fileName,
- Context.MODE_WORLD_WRITEABLE);
- returnnewOutput(os);
- }
- /*
- *在原有文件上继续写文件。如:appendFile("test.txt");
- */
- publicOutputappendFile(StringfileName)throwsIOException{
- OutputStreamos=context.openFileOutput(fileName,Context.MODE_APPEND);
- returnnewOutput(os);
- }
- /*
- *从应用的私有目录files读取文件。如:readFile("test.txt");
- */
- publicInputreadFile(StringfileName)throwsIOException{
- InputStreamis=context.openFileInput(fileName);
- returnnewInput(is);
- }
- /**********************************************************************************************************/
- /*********************************************************************************************************/
- */
- /**
- *删除一个文件
- *
- *@paramfile
- *@return
- */
- publicbooleandelFile(Filefile){
- if(file.isDirectory())
- returnfalse;
- returnfile.delete();
- }
- /**
- *删除一个目录(可以是非空目录)
- *
- *@paramdir
- */
- publicbooleandelDir(Filedir){
- if(dir==null||!dir.exists()||dir.isFile()){
- returnfalse;
- }
- for(Filefile:dir.listFiles()){
- if(file.isFile()){
- file.delete();
- }elseif(file.isDirectory()){
- delDir(file);//递归
- }
- }
- dir.delete();
- returntrue;
- }
- /**
- *拷贝一个文件,srcFile源文件,destFile目标文件
- *
- *@parampath
- *@throwsIOException
- */
- publicbooleancopyFileTo(FilesrcFile,FiledestFile)throwsIOException{
- if(srcFile.isDirectory()||destFile.isDirectory())
- returnfalse;//判断是否是文件
- FileInputStreamfis=newFileInputStream(srcFile);
- FileOutputStreamfos=newFileOutputStream(destFile);
- intreadLen=0;
- byte[]buf=newbyte[1024];
- while((readLen=fis.read(buf))!=-1){
- fos.write(buf,0,readLen);
- }
- fos.flush();
- fos.close();
- fis.close();
- returntrue;
- }
- /**
- *拷贝目录下的所有文件到指定目录
- *
- *@paramsrcDir
- *@paramdestDir
- *@return
- *@throwsIOException
- */
- publicbooleancopyFilesTo(FilesrcDir,FiledestDir)throwsIOException{
- if(!srcDir.isDirectory()||!destDir.isDirectory())
- returnfalse;//判断是否是目录
- if(!destDir.exists())
- returnfalse;//判断目标目录是否存在
- File[]srcFiles=srcDir.listFiles();
- for(inti=0;i<srcFiles.length;i++){
- if(srcFiles[i].isFile()){
- //获得目标文件
- FiledestFile=newFile(destDir.getPath()+"//"
- +srcFiles[i].getName());
- copyFileTo(srcFiles[i],destFile);
- }elseif(srcFiles[i].isDirectory()){
- FiletheDestDir=newFile(destDir.getPath()+"//"
- +srcFiles[i].getName());
- copyFilesTo(srcFiles[i],theDestDir);
- }
- }
- returntrue;
- }
- /**
- *移动一个文件
- *
- *@paramsrcFile
- *@paramdestFile
- *@return
- *@throwsIOException
- */
- publicbooleanmoveFileTo(FilesrcFile,FiledestFile)throwsIOException{
- booleaniscopy=copyFileTo(srcFile,destFile);
- if(!iscopy)
- returnfalse;
- delFile(srcFile);
- returntrue;
- }
- /**
- *移动目录下的所有文件到指定目录
- *
- *@paramsrcDir
- *@paramdestDir
- *@return
- *@throwsIOException
- */
- publicbooleanmoveFilesTo(FilesrcDir,FiledestDir)throwsIOException{
- if(!srcDir.isDirectory()||!destDir.isDirectory()){
- returnfalse;
- }
- File[]srcDirFiles=srcDir.listFiles();
- for(inti=0;i<srcDirFiles.length;i++){
- if(srcDirFiles[i].isFile()){
- FileoneDestFile=newFile(destDir.getPath()+"//"
- +srcDirFiles[i].getName());
- moveFileTo(srcDirFiles[i],oneDestFile);
- delFile(srcDirFiles[i]);
- }elseif(srcDirFiles[i].isDirectory()){
- FileoneDestFile=newFile(destDir.getPath()+"//"
- +srcDirFiles[i].getName());
- moveFilesTo(srcDirFiles[i],oneDestFile);
- delDir(srcDirFiles[i]);
- }
- }
- returntrue;
- }
- }
getPath与getAbsoultePath的区别:
getAbsolutePath():返回抽象路径名的绝对路径名字符串。
view plain copy to clipboard- publicstaticvoidtest1(){
- Filefile1=newFile(".//test1.txt");
- Filefile2=newFile("D://workspace//test//test1.txt");
- System.out.println("-----默认相对路径:取得路径不同------");
- System.out.println(file1.getPath());
- System.out.println(file1.getAbsolutePath());
- System.out.println("-----默认绝对路径:取得路径相同------");
- System.out.println(file2.getPath());
- System.out.println(file2.getAbsolutePath());
- }
- -----默认相对路径:取得路径不同------
- ./test1.txt
- D:/workspace/test/./test1.txt
- -----默认绝对路径:取得路径相同------
- D:/workspace/test/test1.txt
- D:/workspace/test/test1.txt
- ----------------------------------------------------
- publicstaticvoidtest2()throwsException{
- Filefile=newFile("..//src//test1.txt");
- System.out.println(file.getAbsolutePath());
- System.out.println(file.getCanonicalPath());
- }
- D:/workspace/test/../src/test1.txt
- D:/workspace/src/test1.txt
- --------------------------------------------
- publicstaticvoidtest3()throwsException{
- Filefile=newFile("D://Text.txt");
- System.out.println(file.getCanonicalPath());
- publicstaticvoidtest1(){
- Filefile1=newFile(".//test1.txt");
- Filefile2=newFile("D://workspace//test//test1.txt");
- System.out.println("-----默认相对路径:取得路径不同------");
- System.out.println(file1.getPath());
- System.out.println(file1.getAbsolutePath());
- System.out.println("-----默认绝对路径:取得路径相同------");
- System.out.println(file2.getPath());
- System.out.println(file2.getAbsolutePath());
- }
- -----默认相对路径:取得路径不同------
- ./test1.txt
- D:/workspace/test/./test1.txt
- -----默认绝对路径:取得路径相同------
- D:/workspace/test/test1.txt
- D:/workspace/test/test1.txt
- ----------------------------------------------------
- publicstaticvoidtest2()throwsException{
- Filefile=newFile("..//src//test1.txt");
- System.out.println(file.getAbsolutePath());
- System.out.println(file.getCanonicalPath());
- }
- D:/workspace/test/../src/test1.txt
- D:/workspace/src/test1.txt
- --------------------------------------------
- publicstaticvoidtest3()throwsException{
- Filefile=newFile("D://Text.txt");
- System.out.println(file.getCanonicalPath());
更多相关文章
- (20120801)android文件的读写SD卡总结
- Android中使用Android studio生成正式签名的APK文件
- android raw 文件下写入数据库
- Android工程获取bulid.xml文件的方法
- Android 源码目录结构
- Android Studio 指定签名证书文件