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     //20.提取扩展名 

473     String str2=str1.substring(str1.lastIndexOf(".")+1);

 

你可能感兴趣的:(java)