亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java讀取excel文件并復制(copy)文件到指定目錄示例

2019-11-26 15:41:41
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

mport java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class DeployByExcel {
 private static Logger logger= Logger.getLogger(DeployByExcel.class);

 static final int BUFFER = 8192; 


 //Excel
 private HSSFWorkbook workbook ;

 /**
  * 讀取Excel文件并將文件列表放到list中
  * @param sheetNumber
  * @param dir excel文件所在目錄
  * @return
  * @throws FileNotFoundException
  * @throws IOException
  */
 public List<String> getDatasInSheet(int sheetNumber,File dir) throws FileNotFoundException, IOException{

  File[] files = dir.listFiles(); 
  List<String> result = new ArrayList<String>();
        for(File f : files)
        {
         if(!f.getName().toLowerCase().endsWith(".xls"))
         {
          continue;
         }
         workbook = new HSSFWorkbook(new FileInputStream(f));

   //獲得指定的表
   HSSFSheet sheet = workbook.getSheetAt(sheetNumber);
   //獲得數據總行數
   int rowCount = sheet.getLastRowNum();
   logger.info("found excel rows count: " + rowCount);
   if (rowCount < 1) {
    return result;
   }
   //逐行讀取數據
   for (int rowIndex = 4; rowIndex <= rowCount; rowIndex++) { 
    //獲得行對象
    HSSFRow row = sheet.getRow(rowIndex);
    if (row != null) {
     List<Object> rowData = new ArrayList<Object>();
     //獲得本行中單元格的個數
     int columnCount = row.getLastCellNum();
     //獲得本行中各單元格中的數據
     HSSFCell cell = row.getCell(1);
     //獲得指定單元格中數據
     String str = (String)this.getCellString(cell);
     if (str!=null && str.length()>1)
      result.add(str);
    }
   }
        }
  return result;
 }


 private void copy(String sourcePath,String destPath,List<String> fileList,String webContent) throws IOException{
  int num =1 ;
  for (String str : fileList){
   str = str.replace(".java", ".class");
   if (str.indexOf("/")!=-1){

    if (str.indexOf("src")==0){
     str = str.replace("src", "WEB-INF/classes");
    }else if (str.toUpperCase().indexOf(webContent.toUpperCase())==0){
     str = str.replace(webContent+"/", "");
    }

    
    boolean f = copyFile(str,sourcePath,destPath);
    if(f)
    {
     logger.info("The file is:" + num);
     num ++;

     String fileName1 = str;
     int n = 1;
     while(fileName1.endsWith(".class"))
     {
      str = fileName1.replace(".class", "$" + n +".class");
      if(!copyFile(str,sourcePath,destPath))
      {
       break;
      }
      n ++;
     }
    }
   }
  }
 }
 /**
  * copy str to destPath
  *
  * @param str
  * @param sourcePath
  * @param destPath
  * @return boolean isFile return true;else return false;
  * @throws IOException
  */
 private boolean copyFile(String str,String sourcePath,String destPath) throws IOException
 {
  boolean f = false;
  String destFilePath = destPath+str;
  String sourceFilePath = sourcePath+str;
  File newDir = new File(destFilePath.substring(0,destFilePath.lastIndexOf('/')));
  File sourceFile = new File(sourceFilePath.trim());
  if(!sourceFile.exists())
  {
   return f;
  }
  logger.info("dest:"+destFilePath+"     "+"source:"+sourceFilePath);
  File destFile = new File(destFilePath.trim());
  if (!newDir.exists()){
   newDir.mkdirs();
  }
  if(!sourceFile.isDirectory())
  {
   InputStream in=new FileInputStream(sourceFile);
   FileOutputStream out=new FileOutputStream(destFile);
   byte[] buffer=new byte[1024];
   int ins;
   while((ins=in.read(buffer))!=-1){
    out.write(buffer,0,ins);
   }
   in.close();
   out.flush();
   out.close();
   f = true;
  }
  return f;

 }
 /**
 * 獲得單元格中的內容
 * @param cell
 * @return
 */
 protected Object getCellString(HSSFCell cell){
  Object result = null;
     if (cell != null) {
      int cellType = cell.getCellType();
      switch(cellType){
       case HSSFCell.CELL_TYPE_STRING :
        result = cell.getRichStringCellValue().getString();
        break;
       case HSSFCell.CELL_TYPE_NUMERIC:
        result=cell.getNumericCellValue();
        break;
       case HSSFCell.CELL_TYPE_FORMULA:
        result = cell.getNumericCellValue();
        break;
       case HSSFCell.CELL_TYPE_ERROR:
        result=null;
        break;
       case HSSFCell.CELL_TYPE_BOOLEAN:
        result=cell.getBooleanCellValue();
        break;
       case HSSFCell.CELL_TYPE_BLANK:
        result=null;
        break;
      }
     }
     return result;
 }
  

 /**
  *
  * @param args args[0]:Excel文件所在目錄;args[1]:源目錄(編譯后的文件目錄);args[2]:發布目錄
  * @throws Exception
  */
 public static void main(String[] args) throws Exception {

  if(args == null || args.length <3 )
  {
   logger.info("file is not find;");

   logger.fatal("java cn.id5.deploy.DeployByExcel $0 $1 $2 $3 /n$0:Excel文件所在目錄;$1:源目錄(編譯后的文件目錄);$2:發布目錄;$3:jsp所在目錄(默認為webContent,可空)/nexiting.");
   System.exit(0);
  }

    File file = new File(args[0]);
    DeployByExcel deploy = new DeployByExcel();
    List<String> fileList = deploy.getDatasInSheet(0,file);
    String classPath = args[1];
    String destPath = args[2];
    String webContent = (args.length> 3 && args[3] != null && args[3].length() > 1) ? args[3] : "WebContent";
    deploy.copy(classPath, destPath, fileList, webContent);
    ///tmp/gboss /media/terry/doc/Project_ID5/gboss/WebContent/

 }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲区一区二区| 自拍亚洲一区欧美另类| 亚洲丁香婷深爱综合| 成人国内精品久久久久一区| 欧美国产在线视频| 国产中文字幕日韩| 日韩电影免费在线观看| 日本久久中文字幕| 中文字幕亚洲综合久久| 欧美日韩在线视频观看| 97国产精品视频人人做人人爱| 伊人男人综合视频网| 综合网日日天干夜夜久久| 成人免费视频在线观看超级碰| 蜜臀久久99精品久久久无需会员| 久久亚洲精品小早川怜子66| 国产精品成人aaaaa网站| 欧美高清一级大片| 亚洲乱码一区二区| 久久免费视频网| 91豆花精品一区| 欧美风情在线观看| 亲爱的老师9免费观看全集电视剧| 久久免费视频在线| 国产精品免费看久久久香蕉| 久久久久久久久网站| 久久久久久久久久久亚洲| 亚洲国产精品一区二区三区| 日韩免费av一区二区| 日本精品视频在线播放| 国产精品福利小视频| 最近2019中文字幕第三页视频| 亚洲国产精品美女| 91在线观看免费高清完整版在线观看| 日韩激情av在线播放| 国产精品久久久久av| 国产精品久久97| 国语自产精品视频在线看| 性金发美女69hd大尺寸| 456国产精品| 亚洲r级在线观看| 欧美成人在线网站| 国产成人精品一区二区在线| 亚洲bt天天射| 国产精品日韩电影| 91免费在线视频| 中文字幕日韩av电影| 亚洲精品一区在线观看香蕉| 欧美精品制服第一页| 国产精品2018| 亚洲午夜未满十八勿入免费观看全集| 中文字幕在线国产精品| 九九热精品视频国产| 91精品国产综合久久香蕉| 91av在线播放视频| 亚洲欧美第一页| 中日韩美女免费视频网站在线观看| 欧美亚洲国产视频| 91精品国产777在线观看| 久久成人免费视频| 青青草原成人在线视频| 国产精品999999| 成人xvideos免费视频| 81精品国产乱码久久久久久| 日韩成人在线网站| 成人免费黄色网| 黄色一区二区在线观看| 日韩中文字幕精品视频| 日韩美女写真福利在线观看| 国产精品第10页| 成人欧美一区二区三区黑人孕妇| 国产精品第1页| 综合国产在线观看| 69**夜色精品国产69乱| 91精品国产综合久久男男| 一区二区三欧美| 亚洲欧美999| 国产精品福利小视频| 久久久久久久久久久人体| 一夜七次郎国产精品亚洲| 国产精品69精品一区二区三区| 亚洲综合大片69999| 91免费高清视频| 亚洲娇小xxxx欧美娇小| 亚州精品天堂中文字幕| 欧美日韩一二三四五区| 国产精品久久久久91| 欧美国产乱视频| 奇米四色中文综合久久| 久久成人在线视频| 日韩免费中文字幕| 日韩va亚洲va欧洲va国产| 亚洲国产精品悠悠久久琪琪| 久久精品国产亚洲7777| 日韩精品中文字幕久久臀| www.日韩免费| 日韩精品中文字幕久久臀| 欧美精品在线播放| 日韩中文视频免费在线观看| 亚洲国产欧美一区二区三区同亚洲| 亚洲影院污污.| 国产999在线| 国产精品∨欧美精品v日韩精品| 韩国国内大量揄拍精品视频| 久久综合免费视频| 欧美激情在线一区| 日韩av日韩在线观看| 亚洲开心激情网| 欧美老女人www| 亚洲国内高清视频| 欧美整片在线观看| 亚洲欧美国产精品久久久久久久| 亚洲成人激情图| 亚洲最大成人网色| 国产原创欧美精品| 57pao成人永久免费视频| 国产不卡在线观看| 亚洲天堂2020| 国模精品系列视频| 日韩视频在线观看免费| 国产精品狼人色视频一区| 亚洲网址你懂得| 91高清视频在线免费观看| 98精品国产高清在线xxxx天堂| 欧美精品电影免费在线观看| 色综合伊人色综合网站| 欧美激情在线一区| 久久久精品国产一区二区| 亚洲午夜精品久久久久久性色| 欧美大片在线看免费观看| 久久亚洲精品成人| 久久久女女女女999久久| 亚洲精品乱码久久久久久金桔影视| 国产精品美女午夜av| 国产精品久久精品| 欧美在线视频在线播放完整版免费观看| 26uuu亚洲伊人春色| 96sao精品视频在线观看| 欧美另类在线播放| 亚洲精品中文字| 日本精品久久久久久久| 亚洲白拍色综合图区| 亲子乱一区二区三区电影| 久久夜色精品国产欧美乱| 国产美女扒开尿口久久久| 国产日韩在线播放| 91免费国产网站| 欧美成人精品不卡视频在线观看| 国产精品pans私拍| 最近的2019中文字幕免费一页| 精品国产91久久久| 国产精品国产自产拍高清av水多| 国产亚洲欧美日韩一区二区| 日韩精品视频免费| 亚洲天堂男人天堂女人天堂| 欧美在线免费看| 国产亚洲精品久久久久动| 欧美性视频网站| 最新91在线视频| 久久九九有精品国产23| 日韩欧美在线字幕| 久久视频精品在线| 国产亚洲精品美女久久久久| 91av福利视频|