反正加s就对了,mkdir不能创建多个目录

《------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------》

android的文件操作要有权限:

view plain copy to clipboard print ?
  1. <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

SD卡下的文件操作:

1、判断SD卡是否插入

view plain copy to clipboard print ?
  1. Environment.getExternalStorageState().equals(
  2. android.os.Environment.MEDIA_MOUNTED);
Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED);

2、获得sd卡根目录:

view plain copy to clipboard print ?
  1. FileskRoot=Environment.getExternalStorageDirectory();
File skRoot = Environment.getExternalStorageDirectory();

私有目录下的文件操作:

1、获得私有根目录:

view plain copy to clipboard print ?
  1. FilefileRoot=Context.getFilesDir()+"//";
File fileRoot = Context.getFilesDir()+"//";

还未整理

文件夹或文件夹操作:

1、确定或获得文件夹和文件路径

a、获得文件或文件夹的绝对路径和相对路径。区别

view plain copy to clipboard print ?
  1. Stringpath=File.getPath();//相对
  2. Stringpath=File.getAbsoultePath();//绝对
String path = File.getPath();//相对 String path = File.getAbsoultePath();//绝对

b、获得文件或文件夹的父目录

view plain copy to clipboard print ?
  1. StringparentPath=File.getParent();
String parentPath = File.getParent();

c、获得文件或文件夹的名称:

view plain copy to clipboard print ?
  1. StringName=File.getName();
String Name = File.getName();

2、建立文件或文件夹

view plain copy to clipboard print ?
  1. File.mkDir();//建立文件夹
  2. File.createNewFile();//建立文件
File.mkDir(); //建立文件夹 File.createNewFile();//建立文件

3、判断是文件或文件夹

view plain copy to clipboard print ?
  1. File.isDirectory()
File.isDirectory()

4、列出文件夹下的所有文件和文件夹名

view plain copy to clipboard print ?
  1. File[]files=File.listFiles();
File[] files = File.listFiles();

5、修改文件夹和文件名

view plain copy to clipboard print ?
  1. File.renameTo(dest);
File.renameTo(dest);

6、删除文件夹或文件

view plain copy to clipboard print ?
  1. File.delete();
File.delete();

view plain copy to clipboard print ?
  1. packageotheri.common;
  2. importjava.io.File;
  3. importjava.io.FileInputStream;
  4. importjava.io.FileOutputStream;
  5. importjava.io.IOException;
  6. importjava.io.InputStream;
  7. importjava.io.OutputStream;
  8. importotheri.io.Input;
  9. importotheri.io.Output;
  10. importandroid.content.Context;
  11. importandroid.os.Environment;
  12. publicclassFileHelper{
  13. privateContextcontext;
  14. privateStringSDPATH;
  15. privateStringFILESPATH;
  16. publicFileHelper(Contextcontext){
  17. this.context=context;
  18. SDPATH=Environment.getExternalStorageDirectory().getPath()+"//";
  19. FILESPATH=this.context.getFilesDir().getPath()+"//";
  20. }
  21. /**
  22. *在SD卡上创建文件
  23. *
  24. *@throwsIOException
  25. */
  26. publicFilecreatSDFile(StringfileName)throwsIOException{
  27. Filefile=newFile(SDPATH+fileName);
  28. file.createNewFile();
  29. returnfile;
  30. }
  31. /**
  32. *删除SD卡上的文件
  33. *
  34. *@paramfileName
  35. */
  36. publicbooleandelSDFile(StringfileName){
  37. Filefile=newFile(SDPATH+fileName);
  38. if(file==null||!file.exists()||file.isDirectory())
  39. returnfalse;
  40. file.delete();
  41. returntrue;
  42. }
  43. /**
  44. *在SD卡上创建目录
  45. *
  46. *@paramdirName
  47. */
  48. publicFilecreatSDDir(StringdirName){
  49. Filedir=newFile(SDPATH+dirName);
  50. dir.mkdir();
  51. returndir;
  52. }
  53. /**
  54. *删除SD卡上的目录
  55. *
  56. *@paramdirName
  57. */
  58. publicbooleandelSDDir(StringdirName){
  59. Filedir=newFile(SDPATH+dirName);
  60. returndelDir(dir);
  61. }
  62. /**
  63. *修改SD卡上的文件或目录名
  64. *
  65. *@paramfileName
  66. */
  67. publicbooleanrenameSDFile(StringoldfileName,StringnewFileName){
  68. FileoleFile=newFile(SDPATH+oldfileName);
  69. FilenewFile=newFile(SDPATH+newFileName);
  70. returnoleFile.renameTo(newFile);
  71. }
  72. /**
  73. *拷贝SD卡上的单个文件
  74. *
  75. *@parampath
  76. *@throwsIOException
  77. */
  78. publicbooleancopySDFileTo(StringsrcFileName,StringdestFileName)
  79. throwsIOException{
  80. FilesrcFile=newFile(SDPATH+srcFileName);
  81. FiledestFile=newFile(SDPATH+destFileName);
  82. returncopyFileTo(srcFile,destFile);
  83. }
  84. /**
  85. *拷贝SD卡上指定目录的所有文件
  86. *
  87. *@paramsrcDirName
  88. *@paramdestDirName
  89. *@return
  90. *@throwsIOException
  91. */
  92. publicbooleancopySDFilesTo(StringsrcDirName,StringdestDirName)
  93. throwsIOException{
  94. FilesrcDir=newFile(SDPATH+srcDirName);
  95. FiledestDir=newFile(SDPATH+destDirName);
  96. returncopyFilesTo(srcDir,destDir);
  97. }
  98. /**
  99. *移动SD卡上的单个文件
  100. *
  101. *@paramsrcFileName
  102. *@paramdestFileName
  103. *@return
  104. *@throwsIOException
  105. */
  106. publicbooleanmoveSDFileTo(StringsrcFileName,StringdestFileName)
  107. throwsIOException{
  108. FilesrcFile=newFile(SDPATH+srcFileName);
  109. FiledestFile=newFile(SDPATH+destFileName);
  110. returnmoveFileTo(srcFile,destFile);
  111. }
  112. /**
  113. *移动SD卡上的指定目录的所有文件
  114. *
  115. *@paramsrcDirName
  116. *@paramdestDirName
  117. *@return
  118. *@throwsIOException
  119. */
  120. publicbooleanmoveSDFilesTo(StringsrcDirName,StringdestDirName)
  121. throwsIOException{
  122. FilesrcDir=newFile(SDPATH+srcDirName);
  123. FiledestDir=newFile(SDPATH+destDirName);
  124. returnmoveFilesTo(srcDir,destDir);
  125. }
  126. /*
  127. *将文件写入sd卡。如:writeSDFile("test.txt");
  128. */
  129. publicOutputwriteSDFile(StringfileName)throwsIOException{
  130. Filefile=newFile(SDPATH+fileName);
  131. FileOutputStreamfos=newFileOutputStream(file);
  132. returnnewOutput(fos);
  133. }
  134. /*
  135. *在原有文件上继续写文件。如:appendSDFile("test.txt");
  136. */
  137. publicOutputappendSDFile(StringfileName)throwsIOException{
  138. Filefile=newFile(SDPATH+fileName);
  139. FileOutputStreamfos=newFileOutputStream(file,true);
  140. returnnewOutput(fos);
  141. }
  142. /*
  143. *从SD卡读取文件。如:readSDFile("test.txt");
  144. */
  145. publicInputreadSDFile(StringfileName)throwsIOException{
  146. Filefile=newFile(SDPATH+fileName);
  147. FileInputStreamfis=newFileInputStream(file);
  148. returnnewInput(fis);
  149. }
  150. /**
  151. *建立私有文件
  152. *
  153. *@paramfileName
  154. *@return
  155. *@throwsIOException
  156. */
  157. publicFilecreatDataFile(StringfileName)throwsIOException{
  158. Filefile=newFile(FILESPATH+fileName);
  159. file.createNewFile();
  160. returnfile;
  161. }
  162. /**
  163. *建立私有目录
  164. *
  165. *@paramdirName
  166. *@return
  167. */
  168. publicFilecreatDataDir(StringdirName){
  169. Filedir=newFile(FILESPATH+dirName);
  170. dir.mkdir();
  171. returndir;
  172. }
  173. /**
  174. *删除私有文件
  175. *
  176. *@paramfileName
  177. *@return
  178. */
  179. publicbooleandelDataFile(StringfileName){
  180. Filefile=newFile(FILESPATH+fileName);
  181. returndelFile(file);
  182. }
  183. /**
  184. *删除私有目录
  185. *
  186. *@paramdirName
  187. *@return
  188. */
  189. publicbooleandelDataDir(StringdirName){
  190. Filefile=newFile(FILESPATH+dirName);
  191. returndelDir(file);
  192. }
  193. /**
  194. *更改私有文件名
  195. *
  196. *@paramoldName
  197. *@paramnewName
  198. *@return
  199. */
  200. publicbooleanrenameDataFile(StringoldName,StringnewName){
  201. FileoldFile=newFile(FILESPATH+oldName);
  202. FilenewFile=newFile(FILESPATH+newName);
  203. returnoldFile.renameTo(newFile);
  204. }
  205. /**
  206. *在私有目录下进行文件复制
  207. *
  208. *@paramsrcFileName
  209. *:包含路径及文件名
  210. *@paramdestFileName
  211. *@return
  212. *@throwsIOException
  213. */
  214. publicbooleancopyDataFileTo(StringsrcFileName,StringdestFileName)
  215. throwsIOException{
  216. FilesrcFile=newFile(FILESPATH+srcFileName);
  217. FiledestFile=newFile(FILESPATH+destFileName);
  218. returncopyFileTo(srcFile,destFile);
  219. }
  220. /**
  221. *复制私有目录里指定目录的所有文件
  222. *
  223. *@paramsrcDirName
  224. *@paramdestDirName
  225. *@return
  226. *@throwsIOException
  227. */
  228. publicbooleancopyDataFilesTo(StringsrcDirName,StringdestDirName)
  229. throwsIOException{
  230. FilesrcDir=newFile(FILESPATH+srcDirName);
  231. FiledestDir=newFile(FILESPATH+destDirName);
  232. returncopyFilesTo(srcDir,destDir);
  233. }
  234. /**
  235. *移动私有目录下的单个文件
  236. *
  237. *@paramsrcFileName
  238. *@paramdestFileName
  239. *@return
  240. *@throwsIOException
  241. */
  242. publicbooleanmoveDataFileTo(StringsrcFileName,StringdestFileName)
  243. throwsIOException{
  244. FilesrcFile=newFile(FILESPATH+srcFileName);
  245. FiledestFile=newFile(FILESPATH+destFileName);
  246. returnmoveFileTo(srcFile,destFile);
  247. }
  248. /**
  249. *移动私有目录下的指定目录下的所有文件
  250. *
  251. *@paramsrcDirName
  252. *@paramdestDirName
  253. *@return
  254. *@throwsIOException
  255. */
  256. publicbooleanmoveDataFilesTo(StringsrcDirName,StringdestDirName)
  257. throwsIOException{
  258. FilesrcDir=newFile(FILESPATH+srcDirName);
  259. FiledestDir=newFile(FILESPATH+destDirName);
  260. returnmoveFilesTo(srcDir,destDir);
  261. }
  262. /*
  263. *将文件写入应用私有的files目录。如:writeFile("test.txt");
  264. */
  265. publicOutputwirteFile(StringfileName)throwsIOException{
  266. OutputStreamos=context.openFileOutput(fileName,
  267. Context.MODE_WORLD_WRITEABLE);
  268. returnnewOutput(os);
  269. }
  270. /*
  271. *在原有文件上继续写文件。如:appendFile("test.txt");
  272. */
  273. publicOutputappendFile(StringfileName)throwsIOException{
  274. OutputStreamos=context.openFileOutput(fileName,Context.MODE_APPEND);
  275. returnnewOutput(os);
  276. }
  277. /*
  278. *从应用的私有目录files读取文件。如:readFile("test.txt");
  279. */
  280. publicInputreadFile(StringfileName)throwsIOException{
  281. InputStreamis=context.openFileInput(fileName);
  282. returnnewInput(is);
  283. }
  284. /**********************************************************************************************************/
  285. /*********************************************************************************************************/
  286. */
  287. /**
  288. *删除一个文件
  289. *
  290. *@paramfile
  291. *@return
  292. */
  293. publicbooleandelFile(Filefile){
  294. if(file.isDirectory())
  295. returnfalse;
  296. returnfile.delete();
  297. }
  298. /**
  299. *删除一个目录(可以是非空目录)
  300. *
  301. *@paramdir
  302. */
  303. publicbooleandelDir(Filedir){
  304. if(dir==null||!dir.exists()||dir.isFile()){
  305. returnfalse;
  306. }
  307. for(Filefile:dir.listFiles()){
  308. if(file.isFile()){
  309. file.delete();
  310. }elseif(file.isDirectory()){
  311. delDir(file);//递归
  312. }
  313. }
  314. dir.delete();
  315. returntrue;
  316. }
  317. /**
  318. *拷贝一个文件,srcFile源文件,destFile目标文件
  319. *
  320. *@parampath
  321. *@throwsIOException
  322. */
  323. publicbooleancopyFileTo(FilesrcFile,FiledestFile)throwsIOException{
  324. if(srcFile.isDirectory()||destFile.isDirectory())
  325. returnfalse;//判断是否是文件
  326. FileInputStreamfis=newFileInputStream(srcFile);
  327. FileOutputStreamfos=newFileOutputStream(destFile);
  328. intreadLen=0;
  329. byte[]buf=newbyte[1024];
  330. while((readLen=fis.read(buf))!=-1){
  331. fos.write(buf,0,readLen);
  332. }
  333. fos.flush();
  334. fos.close();
  335. fis.close();
  336. returntrue;
  337. }
  338. /**
  339. *拷贝目录下的所有文件到指定目录
  340. *
  341. *@paramsrcDir
  342. *@paramdestDir
  343. *@return
  344. *@throwsIOException
  345. */
  346. publicbooleancopyFilesTo(FilesrcDir,FiledestDir)throwsIOException{
  347. if(!srcDir.isDirectory()||!destDir.isDirectory())
  348. returnfalse;//判断是否是目录
  349. if(!destDir.exists())
  350. returnfalse;//判断目标目录是否存在
  351. File[]srcFiles=srcDir.listFiles();
  352. for(inti=0;i<srcFiles.length;i++){
  353. if(srcFiles[i].isFile()){
  354. //获得目标文件
  355. FiledestFile=newFile(destDir.getPath()+"//"
  356. +srcFiles[i].getName());
  357. copyFileTo(srcFiles[i],destFile);
  358. }elseif(srcFiles[i].isDirectory()){
  359. FiletheDestDir=newFile(destDir.getPath()+"//"
  360. +srcFiles[i].getName());
  361. copyFilesTo(srcFiles[i],theDestDir);
  362. }
  363. }
  364. returntrue;
  365. }
  366. /**
  367. *移动一个文件
  368. *
  369. *@paramsrcFile
  370. *@paramdestFile
  371. *@return
  372. *@throwsIOException
  373. */
  374. publicbooleanmoveFileTo(FilesrcFile,FiledestFile)throwsIOException{
  375. booleaniscopy=copyFileTo(srcFile,destFile);
  376. if(!iscopy)
  377. returnfalse;
  378. delFile(srcFile);
  379. returntrue;
  380. }
  381. /**
  382. *移动目录下的所有文件到指定目录
  383. *
  384. *@paramsrcDir
  385. *@paramdestDir
  386. *@return
  387. *@throwsIOException
  388. */
  389. publicbooleanmoveFilesTo(FilesrcDir,FiledestDir)throwsIOException{
  390. if(!srcDir.isDirectory()||!destDir.isDirectory()){
  391. returnfalse;
  392. }
  393. File[]srcDirFiles=srcDir.listFiles();
  394. for(inti=0;i<srcDirFiles.length;i++){
  395. if(srcDirFiles[i].isFile()){
  396. FileoneDestFile=newFile(destDir.getPath()+"//"
  397. +srcDirFiles[i].getName());
  398. moveFileTo(srcDirFiles[i],oneDestFile);
  399. delFile(srcDirFiles[i]);
  400. }elseif(srcDirFiles[i].isDirectory()){
  401. FileoneDestFile=newFile(destDir.getPath()+"//"
  402. +srcDirFiles[i].getName());
  403. moveFilesTo(srcDirFiles[i],oneDestFile);
  404. delDir(srcDirFiles[i]);
  405. }
  406. }
  407. returntrue;
  408. }
  409. }
package otheri.common; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import otheri.io.Input; import otheri.io.Output; import android.content.Context; import android.os.Environment; public class FileHelper { private Context context; private String SDPATH; private String FILESPATH; public FileHelper(Context context) { this.context = context; SDPATH = Environment.getExternalStorageDirectory().getPath() + "//"; FILESPATH = this.context.getFilesDir().getPath() + "//"; } /** * 在SD卡上创建文件 * * @throws IOException */ public File creatSDFile(String fileName) throws IOException { File file = new File(SDPATH + fileName); file.createNewFile(); return file; } /** * 删除SD卡上的文件 * * @param fileName */ public boolean delSDFile(String fileName) { File file = new File(SDPATH + fileName); if (file == null || !file.exists() || file.isDirectory()) return false; file.delete(); return true; } /** * 在SD卡上创建目录 * * @param dirName */ public File creatSDDir(String dirName) { File dir = new File(SDPATH + dirName); dir.mkdir(); return dir; } /** * 删除SD卡上的目录 * * @param dirName */ public boolean delSDDir(String dirName) { File dir = new File(SDPATH + dirName); return delDir(dir); } /** * 修改SD卡上的文件或目录名 * * @param fileName */ public boolean renameSDFile(String oldfileName, String newFileName) { File oleFile = new File(SDPATH + oldfileName); File newFile = new File(SDPATH + newFileName); return oleFile.renameTo(newFile); } /** * 拷贝SD卡上的单个文件 * * @param path * @throws IOException */ public boolean copySDFileTo(String srcFileName, String destFileName) throws IOException { File srcFile = new File(SDPATH + srcFileName); File destFile = new File(SDPATH + destFileName); return copyFileTo(srcFile, destFile); } /** * 拷贝SD卡上指定目录的所有文件 * * @param srcDirName * @param destDirName * @return * @throws IOException */ public boolean copySDFilesTo(String srcDirName, String destDirName) throws IOException { File srcDir = new File(SDPATH + srcDirName); File destDir = new File(SDPATH + destDirName); return copyFilesTo(srcDir, destDir); } /** * 移动SD卡上的单个文件 * * @param srcFileName * @param destFileName * @return * @throws IOException */ public boolean moveSDFileTo(String srcFileName, String destFileName) throws IOException { File srcFile = new File(SDPATH + srcFileName); File destFile = new File(SDPATH + destFileName); return moveFileTo(srcFile, destFile); } /** * 移动SD卡上的指定目录的所有文件 * * @param srcDirName * @param destDirName * @return * @throws IOException */ public boolean moveSDFilesTo(String srcDirName, String destDirName) throws IOException { File srcDir = new File(SDPATH + srcDirName); File destDir = new File(SDPATH + destDirName); return moveFilesTo(srcDir, destDir); } /* * 将文件写入sd卡。如:writeSDFile("test.txt"); */ public Output writeSDFile(String fileName) throws IOException { File file = new File(SDPATH + fileName); FileOutputStream fos = new FileOutputStream(file); return new Output(fos); } /* * 在原有文件上继续写文件。如:appendSDFile("test.txt"); */ public Output appendSDFile(String fileName) throws IOException { File file = new File(SDPATH + fileName); FileOutputStream fos = new FileOutputStream(file, true); return new Output(fos); } /* * 从SD卡读取文件。如:readSDFile("test.txt"); */ public Input readSDFile(String fileName) throws IOException { File file = new File(SDPATH + fileName); FileInputStream fis = new FileInputStream(file); return new Input(fis); } /** * 建立私有文件 * * @param fileName * @return * @throws IOException */ public File creatDataFile(String fileName) throws IOException { File file = new File(FILESPATH + fileName); file.createNewFile(); return file; } /** * 建立私有目录 * * @param dirName * @return */ public File creatDataDir(String dirName) { File dir = new File(FILESPATH + dirName); dir.mkdir(); return dir; } /** * 删除私有文件 * * @param fileName * @return */ public boolean delDataFile(String fileName) { File file = new File(FILESPATH + fileName); return delFile(file); } /** * 删除私有目录 * * @param dirName * @return */ public boolean delDataDir(String dirName) { File file = new File(FILESPATH + dirName); return delDir(file); } /** * 更改私有文件名 * * @param oldName * @param newName * @return */ public boolean renameDataFile(String oldName, String newName) { File oldFile = new File(FILESPATH + oldName); File newFile = new File(FILESPATH + newName); return oldFile.renameTo(newFile); } /** * 在私有目录下进行文件复制 * * @param srcFileName * : 包含路径及文件名 * @param destFileName * @return * @throws IOException */ public boolean copyDataFileTo(String srcFileName, String destFileName) throws IOException { File srcFile = new File(FILESPATH + srcFileName); File destFile = new File(FILESPATH + destFileName); return copyFileTo(srcFile, destFile); } /** * 复制私有目录里指定目录的所有文件 * * @param srcDirName * @param destDirName * @return * @throws IOException */ public boolean copyDataFilesTo(String srcDirName, String destDirName) throws IOException { File srcDir = new File(FILESPATH + srcDirName); File destDir = new File(FILESPATH + destDirName); return copyFilesTo(srcDir, destDir); } /** * 移动私有目录下的单个文件 * * @param srcFileName * @param destFileName * @return * @throws IOException */ public boolean moveDataFileTo(String srcFileName, String destFileName) throws IOException { File srcFile = new File(FILESPATH + srcFileName); File destFile = new File(FILESPATH + destFileName); return moveFileTo(srcFile, destFile); } /** * 移动私有目录下的指定目录下的所有文件 * * @param srcDirName * @param destDirName * @return * @throws IOException */ public boolean moveDataFilesTo(String srcDirName, String destDirName) throws IOException { File srcDir = new File(FILESPATH + srcDirName); File destDir = new File(FILESPATH + destDirName); return moveFilesTo(srcDir, destDir); } /* * 将文件写入应用私有的files目录。如:writeFile("test.txt"); */ public Output wirteFile(String fileName) throws IOException { OutputStream os = context.openFileOutput(fileName, Context.MODE_WORLD_WRITEABLE); return new Output(os); } /* * 在原有文件上继续写文件。如:appendFile("test.txt"); */ public Output appendFile(String fileName) throws IOException { OutputStream os = context.openFileOutput(fileName, Context.MODE_APPEND); return new Output(os); } /* * 从应用的私有目录files读取文件。如:readFile("test.txt"); */ public Input readFile(String fileName) throws IOException { InputStream is = context.openFileInput(fileName); return new Input(is); } /**********************************************************************************************************/ /*********************************************************************************************************/ */ /** * 删除一个文件 * * @param file * @return */ public boolean delFile(File file) { if (file.isDirectory()) return false; return file.delete(); } /** * 删除一个目录(可以是非空目录) * * @param dir */ public boolean delDir(File dir) { if (dir == null || !dir.exists() || dir.isFile()) { return false; } for (File file : dir.listFiles()) { if (file.isFile()) { file.delete(); } else if (file.isDirectory()) { delDir(file);// 递归 } } dir.delete(); return true; } /** * 拷贝一个文件,srcFile源文件,destFile目标文件 * * @param path * @throws IOException */ public boolean copyFileTo(File srcFile, File destFile) throws IOException { if (srcFile.isDirectory() || destFile.isDirectory()) return false;// 判断是否是文件 FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); int readLen = 0; byte[] buf = new byte[1024]; while ((readLen = fis.read(buf)) != -1) { fos.write(buf, 0, readLen); } fos.flush(); fos.close(); fis.close(); return true; } /** * 拷贝目录下的所有文件到指定目录 * * @param srcDir * @param destDir * @return * @throws IOException */ public boolean copyFilesTo(File srcDir, File destDir) throws IOException { if (!srcDir.isDirectory() || !destDir.isDirectory()) return false;// 判断是否是目录 if (!destDir.exists()) return false;// 判断目标目录是否存在 File[] srcFiles = srcDir.listFiles(); for (int i = 0; i < srcFiles.length; i++) { if (srcFiles[i].isFile()) { // 获得目标文件 File destFile = new File(destDir.getPath() + "//" + srcFiles[i].getName()); copyFileTo(srcFiles[i], destFile); } else if (srcFiles[i].isDirectory()) { File theDestDir = new File(destDir.getPath() + "//" + srcFiles[i].getName()); copyFilesTo(srcFiles[i], theDestDir); } } return true; } /** * 移动一个文件 * * @param srcFile * @param destFile * @return * @throws IOException */ public boolean moveFileTo(File srcFile, File destFile) throws IOException { boolean iscopy = copyFileTo(srcFile, destFile); if (!iscopy) return false; delFile(srcFile); return true; } /** * 移动目录下的所有文件到指定目录 * * @param srcDir * @param destDir * @return * @throws IOException */ public boolean moveFilesTo(File srcDir, File destDir) throws IOException { if (!srcDir.isDirectory() || !destDir.isDirectory()) { return false; } File[] srcDirFiles = srcDir.listFiles(); for (int i = 0; i < srcDirFiles.length; i++) { if (srcDirFiles[i].isFile()) { File oneDestFile = new File(destDir.getPath() + "//" + srcDirFiles[i].getName()); moveFileTo(srcDirFiles[i], oneDestFile); delFile(srcDirFiles[i]); } else if (srcDirFiles[i].isDirectory()) { File oneDestFile = new File(destDir.getPath() + "//" + srcDirFiles[i].getName()); moveFilesTo(srcDirFiles[i], oneDestFile); delDir(srcDirFiles[i]); } } return true; } }

getPath与getAbsoultePath的区别:

getAbsolutePath():返回抽象路径名的绝对路径名字符串。

view plain copy to clipboard print ?
  1. publicstaticvoidtest1(){
  2. Filefile1=newFile(".//test1.txt");
  3. Filefile2=newFile("D://workspace//test//test1.txt");
  4. System.out.println("-----默认相对路径:取得路径不同------");
  5. System.out.println(file1.getPath());
  6. System.out.println(file1.getAbsolutePath());
  7. System.out.println("-----默认绝对路径:取得路径相同------");
  8. System.out.println(file2.getPath());
  9. System.out.println(file2.getAbsolutePath());
  10. }
  11. -----默认相对路径:取得路径不同------
  12. ./test1.txt
  13. D:/workspace/test/./test1.txt
  14. -----默认绝对路径:取得路径相同------
  15. D:/workspace/test/test1.txt
  16. D:/workspace/test/test1.txt
  17. ----------------------------------------------------
  18. publicstaticvoidtest2()throwsException{
  19. Filefile=newFile("..//src//test1.txt");
  20. System.out.println(file.getAbsolutePath());
  21. System.out.println(file.getCanonicalPath());
  22. }
  23. D:/workspace/test/../src/test1.txt
  24. D:/workspace/src/test1.txt
  25. --------------------------------------------
  26. publicstaticvoidtest3()throwsException{
  27. Filefile=newFile("D://Text.txt");
  28. System.out.println(file.getCanonicalPath());
public static void test1(){ File file1 = new File(".//test1.txt"); File file2 = new File("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 ---------------------------------------------------- public static void test2() throws Exception{ File file = new File("..//src//test1.txt"); System.out.println(file.getAbsolutePath()); System.out.println(file.getCanonicalPath()); } D:/workspace/test/../src/test1.txt D:/workspace/src/test1.txt -------------------------------------------- public static void test3() throws Exception{ File file = new File("D://Text.txt"); System.out.println(file.getCanonicalPath());

(1),确定D盘下没有Text.txt这个文件,直接执行这段代码,得到的结果是:
D:/Text.txt注意这里试大写的Text.txt
(2)在D盘下建立一个文件,名叫text.txt,再次执行代码,得到结果
D:/text.txt同样的代码得到不同的结果。

更多相关文章

  1. android列出目录下的所有图片
  2. Android(安卓)DEX方法超过64K和gradle编译OOM解决方案
  3. [Exception Android(安卓)20] - Error:Execution failed for tas
  4. 挂载android只读文件系统为可读写
  5. Android中的GridView图片异步加载
  6. Android(安卓)之 将RAW资源文件写入SD卡工具类
  7. Android(安卓)上传文件[转]
  8. Android中对话框的使用
  9. NPM 和webpack 的基础使用

随机推荐

  1. sqlserver中操作主从关系表的sql语句
  2. SQL Server SQL高级查询语句小结
  3. sqlserver 批量删除存储过程和批量修改存
  4. SQL Server 聚集索引和非聚集索引的区别
  5. sqlserver下将数据库记录的列记录转换成
  6. SQL Server本地时间和UTC时间的相互转换
  7. win2003安装sqlserver 2000提示无法验证
  8. SQL Server数据库的高性能优化经验总结
  9. sql 查询本年、本月、本日记录的语句,附S
  10. 针对SQL 2000 的分页存储过程代码分享