本方法用於獲取指定文件夾的子文件夾中的圖片名稱,並寫入到FileList.ini文件中去(格式...

package com.cqbank.archives.commons;java

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;數組

public class DeployFileList {
 //需建立的文件夾名稱
 public static final String FILENAME="FileList.ini"; //需建立的文件夾名稱
 
 /**
  * 本方法用於獲取指定文件夾的子文件夾中的圖片名稱,並寫入到FileList.ini文件中去(格式爲FileList 1=圖片.jpg 圖片.jpg)
  */
 public void CreateFileListINI(String FLODERPATH){
  Long l1 = System.currentTimeMillis();
  File file = new File(FLODERPATH);
  //判斷路徑是否存在
  if(file.exists()){
   //得到該文件夾下的 文件夾路徑數組
   File[] files = file.listFiles();
   //file.list()爲獲取文件夾名稱數組
   //String[] files = file.list();
   
   //用集合保存文件夾路徑
   List<String> list = new ArrayList<String>();
   
   //保存全部文件夾下的圖片名稱
   List<List<String>> lists = new ArrayList<List<String>>();
   for(File f : files){
    //保存文件夾路徑,以便下面建立文件
    list.add(f.getPath()); 
    
    //取得圖片名,並添加到集合中去
    List<String> imgList = new ArrayList<String>();
    for(File childfile : f.listFiles()){
     if(!"ini".equals(childfile.getName().substring(childfile.getName().lastIndexOf(".") + 1).trim())){
      imgList.add(childfile.getName());
     }
    }
    lists.add(imgList);
   }
   
   //開始建立指定文件FileList.ini
   for(int i=0;i<list.size();i++){
    try {
     //建立目標文件實例
     @SuppressWarnings("unused")
     File purposeFile = new File(list.get(i),FILENAME);
     //步驟:向目標文件中寫入內容
     //取得目標文件的名稱
     String purposeFilename = FILENAME.substring(0,FILENAME.lastIndexOf("."));
     StringBuilder sb = new StringBuilder();
     //寫入一個標記:[FileList]
     sb.append("[").append(purposeFilename).append("]\r\n");
     
     for(int j=0;j<lists.get(i).size();j++){
      //內容
      sb.append(j+1).append("=").append(lists.get(i).get(j)).append(" ").append(lists.get(i).get(j)).append("\r\n");
     }
     //建立FileWriter
     FileWriter fw = null;
     try {
      //第一個參數爲路徑,第二個參數爲指示是否附加數據,默認寫false
      fw = new FileWriter(list.get(i)+"/"+FILENAME,false);
      //寫入內容
      fw.write(sb.toString().toCharArray()); 
      //刷新該流的緩衝,避免數據遺留在內存中
      fw.flush();
      
     } catch (Exception e) {
      System.out.println("寫入文件出現異常:" + e.getMessage());
     } finally {
      try{
       fw.close();
      } catch (IOException e){
       System.out.println("關閉FileWriter出現異常");
       e.printStackTrace();
      }
     }
    } catch (Exception e) {
     System.out.println("建立目標文件失敗!" + e.getMessage());
    }
   }
   Long l2 = System.currentTimeMillis();
   System.out.println("完成時間:" + (l2-l1));
  } else {
   System.out.println(file.toString()+" 此路徑不存在");
  }
 }
 
 public static void main(String[] args){
  //存放圖片的文件夾路徑
  String f="";
  //String[] s = new String[]{"10年","30年","永久"};
  DeployFileList d = new DeployFileList();
  for(int i=1987;i<1997;i++){
   //for(int j=0;j<3;j++){
    //f="D:/disk/data/0/008/1/"+i+"/"+s[j];
    f="D:/disk/data/0/008/3/"+i+"";
    System.out.println(f);
    //調用方法寫入信息
    d.CreateFileListINI(f);
   //}
  }
 }
}app

相關文章
相關標籤/搜索