final File writeFile = new File(Filepath);
try {
if (!writeFile.exists()) {
writeFile.getParentFile().mkdirs();
writeFile.createNewFile();
}else{
if(writeFile.length()>0){
writeFile.delete();
writeFile.createNewFile();
}
}
1. //1.创建文件夹
2. //import java.io.*;
3. File myFolderPath = new File(str1);
4. try {
5. if (!myFolderPath.exists()) {
6. //按照myFolderPath来创建该目录下的文件夹
7. myFolderPath.mkdir();
8. }
9. }
10. catch (Exception e) {
11. System.out.println("新建目录操作出错");
12. e.printStackTrace();
13. }
14.
15. //2.创建文件
16. //import java.io.*;
17. File myFilePath = new File(str1);
18. try {
19. if (!myFilePath.exists()) {
20. myFilePath.createNewFile();
21. }
22. FileWriter resultFile = new FileWriter(myFilePath);
23. PrintWriter myFile = new PrintWriter(resultFile);
24. myFile.println(str2);
25. resultFile.close();
26. }
27. catch (Exception e) {
28. System.out.println("新建文件操作出错");
29. e.printStackTrace();
30. }
31.
32. //3.删除文件
33. //import java.io.*;
34. File myDelFile = new File(str1);
35. try {
36. myDelFile.delete();
37. }
38. catch (Exception e) {
39. System.out.println("删除文件操作出错");
40. e.printStackTrace();
41. }
42.
43. //4.删除文件夹
44. //import java.io.*;
45. File delFolderPath = new File(str1);
46. try {
47. delFolderPath.delete(); //删除空文件夹
48. }
49. catch (Exception e) {
50. System.out.println("删除文件夹操作出错");
51. e.printStackTrace();
52. }
53.
54. //5.删除一个文件下夹所有的文件夹
55. //import java.io.*;
56. File delfile=new File(str1);
57. File[] files=delfile.listFiles();
58. for(int i=0;i<files.length;i++){
59. if(files[i].isDirectory()){
60. files[i].delete();
61. }
62. }
63.
64. //6.清空文件夹
65. //import java.io.*;
66. File delfilefolder=new File(str1);
67. try {
68. if (!delfilefolder.exists()) {
69. delfilefolder.delete();
70. }
71. delfilefolder.mkdir();
72. }
73. catch (Exception e) {
74. System.out.println("清空目录操作出错");
75. e.printStackTrace();
76. }
77.
78. //7.读取文件
79. //import java.io.*;
80. // 逐行读取数据
81. FileReader fr = new FileReader(str1);
82. BufferedReader br = new BufferedReader(fr);
83. String str2 = br.readLine();
84. while (str2 != null) {
85. str3
86. str2 = br.readLine();
87. }
88. br.close();
89. fr.close();
90.
91. //8.写入文件
92. //import java.io.*;
93. // 将数据写入文件
94. try {
95. FileWriter fw = new FileWriter(str1);
96. fw.write(str2);
97. fw.flush();
98. fw.close();
99. } catch (IOException e) {
100. e.printStackTrace();
101. }
102.
103. //9.写入随机文件
104. //import java.io.*;
105. try {
106. RandomAcessFile logFile=new RandomAcessFile(str1,"rw");
107. long lg=logFile.length();
108. logFile.seek(str2);
109. logFile.writeByte(str3);
110. }catch(IOException ioe){
111. System.out.println("无法写入文件:"+ioe.getMessage());
112. }
113.
114. //10.读取文件属性
115. //import java.io.*;
116. // 文件属性的取得
117. File f = new File(str1);
118. if (af.exists()) {
119. System.out.println(f.getName() + "的属性如下: 文件长度为:" + f.length());
120. System.out.println(f.isFile() ? "是文件" : "不是文件");
121. System.out.println(f.isDirectory() ? "是目录" : "不是目录");
122. System.out.println(f.canRead() ? "可读取" : "不");
123. System.out.println(f.canWrite() ? "是隐藏文件" : "");
124. System.out.println("文件夹的最后修改日期为:" + new Date(f.lastModified()));
125. } else {
126. System.out.println(f.getName() + "的属性如下:");
127. System.out.println(f.isFile() ? "是文件" : "不是文件");
128. System.out.println(f.isDirectory() ? "是目录" : "不是目录");
129. System.out.println(f.canRead() ? "可读取" : "不");
130. System.out.println(f.canWrite() ? "是隐藏文件" : "");
131. System.out.println("文件的最后修改日期为:" + new Date(f.lastModified()));
132. }
133. if(f.canRead()){
134. str2
135. }
136. if(f.canWrite()){
137. str3
138. }
139.
140. //11.写入属性
141. //import java.io.*;
142. File filereadonly=new File(str1);
143. try {
144. boolean b=filereadonly.setReadOnly();
145. }
146. catch (Exception e) {
147. System.out.println("拒绝写访问:"+e.printStackTrace());
148. }
149.
150. //12.枚举一个文件夹中的所有文件
151. //import java.io.*;
152. //import java.util.*;
153. LinkedList<String> folderList = new LinkedList<String>();
154. folderList.add(str1);
155. while (folderList.size() > 0) {
156. File file = new File(folderList.peek());
157. folderList.removeLast();
158. File[] files = file.listFiles();
159. ArrayList<File> fileList = new ArrayList<File>();
160. for (int i = 0; i < files.length; i++) {
161. if (files[i].isDirectory()) {
162. folderList.add(files[i].getPath());
163. } else {
164. fileList.add(files[i]);
165. }
166. }
167. for (File f : fileList) {
168. str2=f.getAbsoluteFile();
169. str3
170. }
171. }
172.
173. //13.复制文件夹
174. //import java.io.*;
175. //import java.util.*;
176. LinkedList<String> folderList = new LinkedList<String>();
177. folderList.add(str1);
178. LinkedList<String> folderList2 = new LinkedList<String>();
179. folderList2.add(str2+ str1.substring(str1.lastIndexOf("\\")));
180. while (folderList.size() > 0) {
181. (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
182. File folders = new File(folderList.peek());
183. String[] file = folders.list();
184. File temp = null;
185. try {
186. for (int i = 0; i < file.length; i++) {
187. if (folderList.peek().endsWith(File.separator)) {
188. temp = new File(folderList.peek() + File.separator
189. + file[i]);
190. } else {
191. temp = new File(folderList.peek() + File.separator + file[i]);
192. }
193. if (temp.isFile()) {
194. FileInputStream input = new FileInputStream(temp);
195. FileOutputStream output = new FileOutputStream(
196. folderList2.peek() + File.separator + (temp.getName()).toString());
197. byte[] b = new byte[5120];
198. int len;
199. while ((len = input.read(b)) != -1) {
200. output.write(b, 0, len);
201. }
202. output.flush();
203. output.close();
204. input.close();
205. }
206. if (temp.isDirectory()) {// 如果是子文件夹
207. for (File f : temp.listFiles()) {
208. if (f.isDirectory()) {
209. folderList.add(f.getPath());
210. folderList2.add(folderList2.peek()
211. + File.separator + f.getName());
212. }
213. }
214. }
215. }
216. } catch (Exception e) {
217. //System.out.println("复制整个文件夹内容操作出错");
218. e.printStackTrace();
219. }
220. folderList.removeFirst();
221. folderList2.removeFirst();
222. }
223.
224. //14.复制一个文件夹下所有的文件夹到另一个文件夹下
225. //import java.io.*;
226. //import java.util.*;
227. File copyfolders=new File(str1);
228. File[] copyfoldersList=copyfolders.listFiles();
229. for(int k=0;k<copyfoldersList.length;k++){
230. if(copyfoldersList[k].isDirectory()){
231. ArrayList<String>folderList=new ArrayList<String>();
232. folderList.add(copyfoldersList[k].getPath());
233. ArrayList<String>folderList2=new ArrayList<String>();
234. folderList2.add(str2+"/"+copyfoldersList[k].getName());
235. for(int j=0;j<folderList.length;j++){
236. (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
237. File folders=new File(folderList.get(j));
238. String[] file=folders.list();
239. File temp=null;
240. try {
241. for (int i = 0; i < file.length; i++) {
242. if(folderList.get(j).endsWith(File.separator)){
243. temp=new File(folderList.get(j)+"/"+file[i]);
244. } else {
245. temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
246. }
247. FileInputStream input = new FileInputStream(temp);
248. if(temp.isFile()){
249. FileInputStream input = new FileInputStream(temp);
250. FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());
251. byte[] b = new byte[5120];
252. int len;
253. while ( (len = input.read(b)) != -1) {
254. output.write(b, 0, len);
255. }
256. output.flush();
257. output.close();
258. input.close();
259. }
260. if(temp.isDirectory()){//如果是子文件夹
261. folderList.add(folderList.get(j)+"/"+file[i]);
262. folderList2.add(folderList2.get(j)+"/"+file[i]);
263. }
264. }
265. }
266. catch (Exception e) {
267. System.out.println("复制整个文件夹内容操作出错");
268. e.printStackTrace();
269. }
270. }
271. }
272. }
273.
274. //15.移动文件夹
275. //import java.io.*;
276. //import java.util.*;
277. LinkedList<String> folderList = new LinkedList<String>();
278. folderList.add(str1);
279. LinkedList<String> folderList2 = new LinkedList<String>();
280. folderList2.add(str2 + str1.substring(str1.lastIndexOf("\\")));
281. while (folderList.size() > 0) {
282. (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
283. File folders = new File(folderList.peek());
284. String[] file = folders.list();
285. File temp = null;
286. try {
287. for (int i = 0; i < file.length; i++) {
288. if (folderList.peek().endsWith(File.separator)) {
289. temp = new File(folderList.peek() + File.separator + file[i]);
290. } else {
291. temp = new File(folderList.peek() + File.separator + file[i]);
292. }
293. if (temp.isFile()) {
294. FileInputStream input = new FileInputStream(temp);
295. FileOutputStream output = new FileOutputStream(
296. folderList2.peek() + File.separator + (temp.getName()).toString());
297. byte[] b = new byte[5120];
298. int len;
299. while ((len = input.read(b)) != -1) {
300. output.write(b, 0, len);
301. }
302. output.flush();
303. output.close();
304. input.close();
305. if (!temp.delete())
306. System.out.println("删除单个文件操作出错!");
307. }
308. if (temp.isDirectory()) {// 如果是子文件夹
309. for (File f : temp.listFiles()) {
310. if (f.isDirectory()) {
311. folderList.add(f.getPath());
312. folderList2.add(folderList2.peek() + File.separator + f.getName());
313. }
314. }
315. }
316. }
317. } catch (Exception e) {
318. // System.out.println("复制整个文件夹内容操作出错");
319. e.printStackTrace();
320. }
321. folderList.removeFirst();
322. folderList2.removeFirst();
323. }
324. File f = new File(str1);
325. if (!f.delete()) {
326. for (File file : f.listFiles()) {
327. if (file.list().length == 0) {
328. System.out.println(file.getPath());
329. file.delete();
330. }
331. }
332. }
333. //16.移动一个文件夹下所有的文件夹到另一个目录下
334. //import java.io.*;
335. //import java.util.*;
336. File movefolders=new File(str1);
337. File[] movefoldersList=movefolders.listFiles();
338. for(int k=0;k<movefoldersList.length;k++){
339. if(movefoldersList[k].isDirectory()){
340. ArrayList<String>folderList=new ArrayList<String>();
341. folderList.add(movefoldersList[k].getPath());
342. ArrayList<String>folderList2=new ArrayList<String>();
343. folderList2.add(str2+"/"+movefoldersList[k].getName());
344. for(int j=0;j<folderList.length;j++){
345. (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
346. File folders=new File(folderList.get(j));
347. String[] file=folders.list();
348. File temp=null;
349. try {
350. for (int i = 0; i < file.length; i++) {
351. if(folderList.get(j).endsWith(File.separator)){
352. temp=new File(folderList.get(j)+"/"+file[i]);
353. }
354. else{
355. temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
356. }
357. FileInputStream input = new FileInputStream(temp);
358. if(temp.isFile()){
359. FileInputStream input = new FileInputStream(temp);
360. FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());
361. byte[] b = new byte[5120];
362. int len;
363. while ( (len = input.read(b)) != -1) {
364. output.write(b, 0, len);
365. }
366. output.flush();
367. output.close();
368. input.close();
369. temp.delete();
370. }
371. if(temp.isDirectory()){//如果是子文件夹
372. folderList.add(folderList.get(j)+"/"+file[i]);
373. folderList2.add(folderList2.get(j)+"/"+file[i]);
374. }
375. }
376. }
377. catch (Exception e) {
378. System.out.println("复制整个文件夹内容操作出错");
379. e.printStackTrace();
380. }
381. }
382. movefoldersList[k].delete();
383. }
384. }
385.
386. //17.以一个文件夹的框架在另一个目录创建文件夹和空文件
387. //import java.io.*;
388. //import java.util.*;
389. boolean b=false;//不创建空文件
390. ArrayList<String>folderList=new ArrayList<String>();
391. folderList.add(str1);
392. ArrayList<String>folderList2=new ArrayList<String>();
393. folderList2.add(str2);
394. for(int j=0;j<folderList.length;j++){
395. (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
396. File folders=new File(folderList.get(j));
397. String[] file=folders.list();
398. File temp=null;
399. try {
400. for (int i = 0; i < file.length; i++) {
401. if(folderList.get(j).endsWith(File.separator)){
402. temp=new File(folderList.get(j)+"/"+file[i]);
403. }
404. else{
405. temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
406. }
407. FileInputStream input = new FileInputStream(temp);
408. if(temp.isFile()){
409. if (b) temp.createNewFile();
410. }
411. if(temp.isDirectory()){//如果是子文件夹
412. folderList.add(folderList.get(j)+"/"+file[i]);
413. folderList2.add(folderList2.get(j)+"/"+file[i]);
414. }
415. }
416. }
417. catch (Exception e) {
418. System.out.println("复制整个文件夹内容操作出错");
419. e.printStackTrace();
420. }
421. }
422.
423. //18.复制文件
424. //import java.io.*;
425. int bytesum = 0;
426. int byteread = 0;
427. File oldfile = new File(str1);
428. try {
429. if (oldfile.exists()) { //文件存在时
430. FileInputStream inStream = new FileInputStream(oldfile); //读入原文件
431. FileOutputStream fs = new FileOutputStream(new File(str2,oldfile.getName()));
432. byte[] buffer = new byte[5120];
433. int length;
434. while ( (byteread = inStream.read(buffer)) != -1) {
435. bytesum += byteread; //字节数 文件大小
436. System.out.println(bytesum);
437. fs.write(buffer, 0, byteread);
438. }
439. inStream.close();
440. }
441. }
442. catch (Exception e) {
443. System.out.println("复制单个文件操作出错");
444. e.printStackTrace();
445. }
446.
447. //19.复制一个文件夹下所有的文件到另一个目录
448. //import java.io.*;
449. File copyfiles=new File(str1);
450. File[] files=copyfiles.listFiles();
451. for(int i=0;i<files.length;i++){
452. if(!files[i].isDirectory()){
453. int bytesum = 0;
454. int byteread = 0;
455. try {
456. InputStream inStream = new FileInputStream(files[i]); //读入原文件
457. FileOutputStream fs = new FileOutputStream(new File(str2,files[i].getName());
458. byte[] buffer = new byte[5120];
459. int length;
460. while ( (byteread = inStream.read(buffer)) != -1) {
461. bytesum += byteread; //字节数 文件大小
462. System.out.println(bytesum);
463. fs.write(buffer, 0, byteread);
464. }
465. inStream.close();
466. } catch (Exception e) {
467. System.out.println("复制单个文件操作出错");
468. e.printStackTrace();
469. }
470. }
471. }
472.
473. //20.提取扩展名
474. String str2=str1.substring(str1.lastIndexOf(".")+1);