java文件和文件夹复制、删除、移动操作  

  
1. import java.io.File;  
2. import java.io.FileInputStream;  
3. import java.io.FileOutputStream;  
4. import java.io.FileWriter;  
5. import java.io.InputStream;  
6. import java.io.PrintWriter;  
7.   
8. public  class  CopyFile  {    
9. public  CopyFile()  {    
10.    }    
11.    
12. /**  
13.      *  新建目录  
14.      *  @param  folderPath  String  如  c:/fqf  
15.      *  @return  boolean  
16.      */    
17. public  void  newFolder(String  folderPath)  {    
18. try  {    
19.            String  filePath  =  folderPath;    
20.            filePath  =  filePath.toString();    
21. new  java.io.File(filePath);    
22. if  (!myFilePath.exists())  {    
23.                myFilePath.mkdir();    
24.            }    
25.        }    
26. catch  (Exception  e)  {    
27. "新建目录操作出错");    
28.            e.printStackTrace();    
29.        }    
30.    }    
31.    
32. /**  
33.      *  新建文件  
34.      *  @param  filePathAndName  String  文件路径及名称  如c:/fqf.txt  
35.      *  @param  fileContent  String  文件内容  
36.      *  @return  boolean  
37.      */    
38. public  void  newFile(String  filePathAndName,  String  fileContent)  {    
39.    
40. try  {    
41.            String  filePath  =  filePathAndName;    
42. //取的路径及文件名  
43. new  File(filePath);    
44. /**如果文件不存在就建一个新文件*/  
45. if  (!myFilePath.exists())  {    
46.                myFilePath.createNewFile();    
47.            }    
48. new  FileWriter(myFilePath);  //用来写入字符文件的便捷类, 在给出 File 对象的情况下构造一个 FileWriter 对象  
49. new  PrintWriter(resultFile);  //向文本输出流打印对象的格式化表示形式,使用指定文件创建不具有自动行刷新的新 PrintWriter。  
50.            String  strContent  =  fileContent;    
51.            myFile.println(strContent);    
52.            resultFile.close();    
53.    
54.        }    
55. catch  (Exception  e)  {    
56. "新建文件操作出错");    
57.            e.printStackTrace();    
58.    
59.        }    
60.    
61.    }    
62.    
63. /**  
64.      *  删除文件  
65.      *  @param  filePathAndName  String  文件路径及名称  如c:/fqf.txt  
66.      *  @param  fileContent  String  
67.      *  @return  boolean  
68.      */    
69. public  void  delFile(String  filePathAndName)  {    
70. try  {    
71.            String  filePath  =  filePathAndName;    
72.            filePath  =  filePath.toString();    
73. new  java.io.File(filePath);    
74.            myDelFile.delete();    
75.    
76.        }    
77. catch  (Exception  e)  {    
78. "删除文件操作出错");    
79.            e.printStackTrace();    
80.    
81.        }    
82.    
83.    }    
84.    
85. /**  
86.      *  删除文件夹  
87.      *  @param  filePathAndName  String  文件夹路径及名称  如c:/fqf  
88.      *  @param  fileContent  String  
89.      *  @return  boolean  
90.      */    
91. public  void  delFolder(String  folderPath)  {    
92. try  {    
93. //删除完里面所有内容    
94.            String  filePath  =  folderPath;    
95.            filePath  =  filePath.toString();    
96. new  java.io.File(filePath);    
97. //删除空文件夹    
98.    
99.        }    
100. catch  (Exception  e)  {    
101. "删除文件夹操作出错");    
102.            e.printStackTrace();    
103.    
104.        }    
105.    
106.    }    
107.    
108. /**  
109.      *  删除文件夹里面的所有文件  
110.      *  @param  path  String  文件夹路径  如  c:/fqf  
111.      */    
112. public  void  delAllFile(String  path)  {    
113. new  File(path);    
114. if  (!file.exists())  {    
115. return;    
116.        }    
117. if  (!file.isDirectory())  {    
118. return;    
119.        }    
120.        String[]  tempList  =  file.list();    
121. null;    
122. for  (int  i  =  0;  i  <  tempList.length;  i++)  {    
123. if  (path.endsWith(File.separator))  {    
124. new  File(path  +  tempList[i]);    
125.            }    
126. else  {    
127. new  File(path  +  File.separator  +  tempList[i]);    
128.            }    
129. if  (temp.isFile())  {    
130.                temp.delete();    
131.            }    
132. if  (temp.isDirectory())  {    
133. "/"+  tempList[i]);//先删除文件夹里面的文件    
134. "/"+  tempList[i]);//再删除空文件夹    
135.            }    
136.        }    
137.    }    
138.    
139. /**  
140.      *  复制单个文件  
141.      *  @param  oldPath  String  原文件路径  如:c:/fqf.txt  
142.      *  @param  newPath  String  复制后路径  如:f:/fqf.txt  
143.      *  @return  boolean  
144.      */    
145. public  void  copyFile(String  oldPath,  String  newPath)  {    
146. try  {    
147. //           int  bytesum  =  0;    
148. int  byteread  =  0;    
149. new  File(oldPath);    
150. if  (oldfile.exists())  {  //文件存在时    
151. new  FileInputStream(oldPath);  //读入原文件   
152. new  FileOutputStream(newPath);    
153. byte[]  buffer  =  new  byte[1444];    
154. //               int  length;    
155. while  (  (byteread  =  inStream.read(buffer))  !=  -1)  {    
156. //                   bytesum  +=  byteread;  //字节数  文件大小    
157. //                   System.out.println(bytesum);    
158. 0,  byteread);    
159.                }    
160.                inStream.close();    
161.            }    
162.        }    
163. catch  (Exception  e)  {    
164. "复制单个文件操作出错");    
165.            e.printStackTrace();    
166.    
167.        }    
168.    
169.    }    
170.    
171. /**  
172.      *  复制整个文件夹内容  
173.      *  @param  oldPath  String  原文件路径  如:c:/fqf  
174.      *  @param  newPath  String  复制后路径  如:f:/fqf/ff  
175.      *  @return  boolean  
176.      */    
177. public  void  copyFolder(String  oldPath,  String  newPath)  {    
178.    
179. try  {    
180. new  File(newPath)).mkdirs();  //如果文件夹不存在  则建立新文件夹    
181. new  File(oldPath);    
182.            String[]  file=a.list();    
183. null;    
184. for  (int  i  =  0;  i  <  file.length;  i++)  {    
185. if(oldPath.endsWith(File.separator)){    
186. new  File(oldPath+file[i]);    
187.                }    
188. else{    
189. new  File(oldPath+File.separator+file[i]);    
190.                }    
191.    
192. if(temp.isFile()){    
193. new  FileInputStream(temp);    
194. new  FileOutputStream(newPath  +  "/"  +   
195.                            (temp.getName()).toString());    
196. byte[]  b  =  new  byte[1024  *  5];    
197. int  len;    
198. while  (  (len  =  input.read(b))  !=  -1)  {    
199. 0,  len);    
200.                    }    
201.                    output.flush();    
202.                    output.close();    
203.                    input.close();    
204.                }    
205. if(temp.isDirectory()){//如果是子文件夹    
206. "/"+file[i],newPath+"/"+file[i]);    
207.                }    
208.            }    
209.        }    
210. catch  (Exception  e)  {    
211. "复制整个文件夹内容操作出错");    
212.            e.printStackTrace();    
213.    
214.        }    
215.    
216.    }    
217.    
218. /**  
219.      *  移动文件到指定目录  
220.      *  @param  oldPath  String  如:c:/fqf.txt  
221.      *  @param  newPath  String  如:d:/fqf.txt  
222.      */    
223. public  void  moveFile(String  oldPath,  String  newPath)  {    
224.        copyFile(oldPath,  newPath);    
225.        delFile(oldPath);    
226.    
227.    }    
228.    
229. /**  
230.      *  移动文件到指定目录  
231.      *  @param  oldPath  String  如:c:/fqf.txt  
232.      *  @param  newPath  String  如:d:/fqf.txt  
233.      */    
234. public  void  moveFolder(String  oldPath,  String  newPath)  {    
235.        copyFolder(oldPath,  newPath);    
236.        delFolder(oldPath);    
237.    
238.    }    
239. public static void main(String[] args){  
240. new CopyFile();  
241. //    file.newFolder("newFolder22222");  
242. "E:/1");  
243.    }  
244. // 拷贝文件  
245. private void copyFile2(String source, String dest) {  
246. try {  
247. new File(source);  
248. new File(dest);  
249. new FileInputStream(in);  
250. new FileOutputStream(out);  
251. byte[] buffer = new byte[10240];  
252. int i = 0;  
253. while ((i = inFile.read(buffer)) != -1) {  
254. 0, i);  
255. //end while  
256.    inFile.close();  
257.    outFile.close();  
258. //end try  
259. catch (Exception e) {  
260.   
261. //end catch  
262. //end copyFile  
263.   
264. }  
         
 
 
    [java]  
    view plain 
    copy 
    print 
    ? 
    
 
    
 
  
1. import java.io.File;  
2. import java.io.FileInputStream;  
3. import java.io.FileOutputStream;  
4. import java.io.FileWriter;  
5. import java.io.InputStream;  
6. import java.io.PrintWriter;  
7.   
8. public  class  CopyFile  {    
9. public  CopyFile()  {    
10.    }    
11.    
12. /**  
13.      *  新建目录  
14.      *  @param  folderPath  String  如  c:/fqf  
15.      *  @return  boolean  
16.      */    
17. public  void  newFolder(String  folderPath)  {    
18. try  {    
19.            String  filePath  =  folderPath;    
20.            filePath  =  filePath.toString();    
21. new  java.io.File(filePath);    
22. if  (!myFilePath.exists())  {    
23.                myFilePath.mkdir();    
24.            }    
25.        }    
26. catch  (Exception  e)  {    
27. "新建目录操作出错");    
28.            e.printStackTrace();    
29.        }    
30.    }    
31.    
32. /**  
33.      *  新建文件  
34.      *  @param  filePathAndName  String  文件路径及名称  如c:/fqf.txt  
35.      *  @param  fileContent  String  文件内容  
36.      *  @return  boolean  
37.      */    
38. public  void  newFile(String  filePathAndName,  String  fileContent)  {    
39.    
40. try  {    
41.            String  filePath  =  filePathAndName;    
42. //取的路径及文件名  
43. new  File(filePath);    
44. /**如果文件不存在就建一个新文件*/  
45. if  (!myFilePath.exists())  {    
46.                myFilePath.createNewFile();    
47.            }    
48. new  FileWriter(myFilePath);  //用来写入字符文件的便捷类, 在给出 File 对象的情况下构造一个 FileWriter 对象  
49. new  PrintWriter(resultFile);  //向文本输出流打印对象的格式化表示形式,使用指定文件创建不具有自动行刷新的新 PrintWriter。  
50.            String  strContent  =  fileContent;    
51.            myFile.println(strContent);    
52.            resultFile.close();    
53.    
54.        }    
55. catch  (Exception  e)  {    
56. "新建文件操作出错");    
57.            e.printStackTrace();    
58.    
59.        }    
60.    
61.    }    
62.    
63. /**  
64.      *  删除文件  
65.      *  @param  filePathAndName  String  文件路径及名称  如c:/fqf.txt  
66.      *  @param  fileContent  String  
67.      *  @return  boolean  
68.      */    
69. public  void  delFile(String  filePathAndName)  {    
70. try  {    
71.            String  filePath  =  filePathAndName;    
72.            filePath  =  filePath.toString();    
73. new  java.io.File(filePath);    
74.            myDelFile.delete();    
75.    
76.        }    
77. catch  (Exception  e)  {    
78. "删除文件操作出错");    
79.            e.printStackTrace();    
80.    
81.        }    
82.    
83.    }    
84.    
85. /**  
86.      *  删除文件夹  
87.      *  @param  filePathAndName  String  文件夹路径及名称  如c:/fqf  
88.      *  @param  fileContent  String  
89.      *  @return  boolean  
90.      */    
91. public  void  delFolder(String  folderPath)  {    
92. try  {    
93. //删除完里面所有内容    
94.            String  filePath  =  folderPath;    
95.            filePath  =  filePath.toString();    
96. new  java.io.File(filePath);    
97. //删除空文件夹    
98.    
99.        }    
100. catch  (Exception  e)  {    
101. "删除文件夹操作出错");    
102.            e.printStackTrace();    
103.    
104.        }    
105.    
106.    }    
107.    
108. /**  
109.      *  删除文件夹里面的所有文件  
110.      *  @param  path  String  文件夹路径  如  c:/fqf  
111.      */    
112. public  void  delAllFile(String  path)  {    
113. new  File(path);    
114. if  (!file.exists())  {    
115. return;    
116.        }    
117. if  (!file.isDirectory())  {    
118. return;    
119.        }    
120.        String[]  tempList  =  file.list();    
121. null;    
122. for  (int  i  =  0;  i  <  tempList.length;  i++)  {    
123. if  (path.endsWith(File.separator))  {    
124. new  File(path  +  tempList[i]);    
125.            }    
126. else  {    
127. new  File(path  +  File.separator  +  tempList[i]);    
128.            }    
129. if  (temp.isFile())  {    
130.                temp.delete();    
131.            }    
132. if  (temp.isDirectory())  {    
133. "/"+  tempList[i]);//先删除文件夹里面的文件    
134. "/"+  tempList[i]);//再删除空文件夹    
135.            }    
136.        }    
137.    }    
138.    
139. /**  
140.      *  复制单个文件  
141.      *  @param  oldPath  String  原文件路径  如:c:/fqf.txt  
142.      *  @param  newPath  String  复制后路径  如:f:/fqf.txt  
143.      *  @return  boolean  
144.      */    
145. public  void  copyFile(String  oldPath,  String  newPath)  {    
146. try  {    
147. //           int  bytesum  =  0;    
148. int  byteread  =  0;    
149. new  File(oldPath);    
150. if  (oldfile.exists())  {  //文件存在时    
151. new  FileInputStream(oldPath);  //读入原文件   
152. new  FileOutputStream(newPath);    
153. byte[]  buffer  =  new  byte[1444];    
154. //               int  length;    
155. while  (  (byteread  =  inStream.read(buffer))  !=  -1)  {    
156. //                   bytesum  +=  byteread;  //字节数  文件大小    
157. //                   System.out.println(bytesum);    
158. 0,  byteread);    
159.                }    
160.                inStream.close();    
161.            }    
162.        }    
163. catch  (Exception  e)  {    
164. "复制单个文件操作出错");    
165.            e.printStackTrace();    
166.    
167.        }    
168.    
169.    }    
170.    
171. /**  
172.      *  复制整个文件夹内容  
173.      *  @param  oldPath  String  原文件路径  如:c:/fqf  
174.      *  @param  newPath  String  复制后路径  如:f:/fqf/ff  
175.      *  @return  boolean  
176.      */    
177. public  void  copyFolder(String  oldPath,  String  newPath)  {    
178.    
179. try  {    
180. new  File(newPath)).mkdirs();  //如果文件夹不存在  则建立新文件夹    
181. new  File(oldPath);    
182.            String[]  file=a.list();    
183. null;    
184. for  (int  i  =  0;  i  <  file.length;  i++)  {    
185. if(oldPath.endsWith(File.separator)){    
186. new  File(oldPath+file[i]);    
187.                }    
188. else{    
189. new  File(oldPath+File.separator+file[i]);    
190.                }    
191.    
192. if(temp.isFile()){    
193. new  FileInputStream(temp);    
194. new  FileOutputStream(newPath  +  "/"  +   
195.                            (temp.getName()).toString());    
196. byte[]  b  =  new  byte[1024  *  5];    
197. int  len;    
198. while  (  (len  =  input.read(b))  !=  -1)  {    
199. 0,  len);    
200.                    }    
201.                    output.flush();    
202.                    output.close();    
203.                    input.close();    
204.                }    
205. if(temp.isDirectory()){//如果是子文件夹    
206. "/"+file[i],newPath+"/"+file[i]);    
207.                }    
208.            }    
209.        }    
210. catch  (Exception  e)  {    
211. "复制整个文件夹内容操作出错");    
212.            e.printStackTrace();    
213.    
214.        }    
215.    
216.    }    
217.    
218. /**  
219.      *  移动文件到指定目录  
220.      *  @param  oldPath  String  如:c:/fqf.txt  
221.      *  @param  newPath  String  如:d:/fqf.txt  
222.      */    
223. public  void  moveFile(String  oldPath,  String  newPath)  {    
224.        copyFile(oldPath,  newPath);    
225.        delFile(oldPath);    
226.    
227.    }    
228.    
229. /**  
230.      *  移动文件到指定目录  
231.      *  @param  oldPath  String  如:c:/fqf.txt  
232.      *  @param  newPath  String  如:d:/fqf.txt  
233.      */    
234. public  void  moveFolder(String  oldPath,  String  newPath)  {    
235.        copyFolder(oldPath,  newPath);    
236.        delFolder(oldPath);    
237.    
238.    }    
239. public static void main(String[] args){  
240. new CopyFile();  
241. //    file.newFolder("newFolder22222");  
242. "E:/1");  
243.    }  
244. // 拷贝文件  
245. private void copyFile2(String source, String dest) {  
246. try {  
247. new File(source);  
248. new File(dest);  
249. new FileInputStream(in);  
250. new FileOutputStream(out);  
251. byte[] buffer = new byte[10240];  
252. int i = 0;  
253. while ((i = inFile.read(buffer)) != -1) {  
254. 0, i);  
255. //end while  
256.    inFile.close();  
257.    outFile.close();  
258. //end try  
259. catch (Exception e) {  
260.   
261. //end catch  
262. //end copyFile  
263.   
264. }