Java文件操作大全

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

http://www.cnblogs.com/fnlingnzb-learner/p/6010165.html

时间: 2024-10-26 06:13:47

Java文件操作大全的相关文章

Java文件操作大全(转载的)

1 //1.创建文件夹 2 //import java.io.*; 3 File myFolderPath = new File(str1); 4 try { 5 if (!myFolderPath.exists()) { 6 myFolderPath.mkdir(); 7 } 8 } 9 catch (Exception e) { 10 System.out.println("新建目录操作出错"); 11 e.printStackTrace(); 12 } 13 14 //2.创建文

jqm文件上传,上传图片,jqm的表单操作,jqm的ajax的使用,jqm文件操作大全,文件操作demo

最近在论坛中看到,在使用html5中上传图片或文件,出现各种问题.这一方面,我也一直没有做过,今天就抽出了一点时间来学习一下.现在的示例已经ok了,我就给大家分享一下,希望对大家有帮助. 好吧,我们先看看效果截图吧: 还行吧,来看页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <h

【转】c#文件操作大全(二)

61.文件夹移动到整合操作 FolderDialog aa = new FolderDialog();            aa.DisplayDialog();            if (aa.Path != "")            {                string filename = Path.GetFileName(%%1);                string path=(aa.Path.LastIndexOf("\")

【整理】C#文件操作大全(SamWang)

[整理]C#文件操作大全(SamWang) 文件与文件夹操作主要用到以下几个类: 1.File类: 提供用于创建.复制.删除.移动和打开文件的静态方法,并协助创建 FileStream 对象. msdn:http://msdn.microsoft.com/zh-cn/library/system.io.file(v=VS.80).aspx 2.FileInfo类: 提供创建.复制.删除.移动和打开文件的实例方法,并且帮助创建 FileStream 对象 msdn:http://msdn.micr

java 文件操作

一.获取文件列表 方法一:DirFilter类实现了FilenameFilter接口,需要重写FilenamFilter中的accept方法. 1 /** 2 * java文件操作 获取文件列表 3 * 2016/6/15 4 */ 5 package fileStream; 6 7 import java.io.File; 8 import java.io.FilenameFilter; 9 import java.util.regex.*; 10 import java.util.*; 11

java日期操作大全

摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http://iamin.blogdriver.com/iamin/847990.html /**           *  取得指定月份的第一天           *           *  @param  strdate  String           *  @return  String   

C、C++文件操作大全

基于C的文件操作  在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作  这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef struct {  int level; /* fill/empty level of buffer */  unsigned flags; /* File status flags */  char fd; /* File descriptor */  unsig

【转】c#文件操作大全(一)

1.创建文件夹//using System.IO;Directory.CreateDirectory(%%1); 2.创建文件//using System.IO;File.Create(%%1); 3.删除文件//using System.IO;File.Delete(%%1); 4.删除文件夹//using System.IO;Directory.Delete(%%1); 5.删除一个目录下所有的文件夹//using System.IO;foreach (string dirStr in Di

java文件操作之FileWriter用法,向文件尾插入内容

原文:java文件操作之FileWriter用法,向文件尾插入内容 代码下载地址:http://www.zuidaima.com/share/1550463258610688.htm 向文件尾插入内容,通过FileWriter来实现,只要在构造时设置append=true即可. FileWriter fileWritter = new FileWriter(file.getName(), true);代码运行之后,文件生成在项目的根目录下. 标签: 文件 java FileWriter 插入话题