zoukankan      html  css  js  c++  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.创建文件   
     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);
  • 相关阅读:
    记录s标签范例
    链表问题总结
    Hibernate学习总结
    HDU2460-Network
    CF464C-Substitutes in Number
    CF666E-Forensic Examination
    CF373C-Counting Kangaroos is Fun
    CF558E-A Simple Task
    HDU5669-Road
    CF341D-Iahub and Xors
  • 原文地址:https://www.cnblogs.com/fnlingnzb-learner/p/6010165.html
Copyright © 2011-2022 走看看