統計top500的過程總結(perl,shell,java)【3-java】

來源:互聯網
上載者:User
三、java相關

     這裡shell程式調用java程式的原因是:perl指令碼產生的excel檔案,其中的詞條URL無法解碼為人可以識別的漢字(與linux系統編碼相關的,不能改系統編碼,所以要用java程式處理一下perl產生的excel)。例如將http://www.hudong.com/wiki/%E5%8D%95%E6%9B%B2%E5%BE%AA%E7%8E%AF%E7%97%87解碼為http:www.hudong.com/wiki/單曲迴圈症
儲存到新的excel中。

    關於java讀寫excel的基本操作,可參考jxl匯出Excel最全面的解釋。

    java讀寫excel檔案有兩種方式:一種是org.apache.poi方法,一種是jxl方法(要匯入一個jar包:jxl.jar)。開始我用的poi的方式,但是該方法處理原始excel檔案總報錯:

java.lang.RuntimeException: Unexpected record type (org.apache.poi.hssf.record.HyperlinkRecord)
at org.apache.poi.hssf.record.aggregates.RowRecordsAggregate.<init>(RowRecordsAggregate.java:98)
at org.apache.poi.hssf.model.Sheet.<init>(Sheet.java:203)
at org.apache.poi.hssf.model.Sheet.createSheet(Sheet.java:158)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:287)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:201)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:317)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:298)
at com.hudong.test.TestPoi.read(TestPoi.java:105)
at com.hudong.test.TestPoi.read(TestPoi.java:79)
at com.hudong.test.TestPoi.main(TestPoi.java:36)

   解決該問題的方法是開啟excel檔案,隨便點兩下關閉的時候選擇儲存,問題就解決了。但是伺服器上的excel沒人讓你每次去點兩下,所以改選用jxl方式來處理perl產生的excel檔案。


1、utf8解碼為可識別的漢字的方法(java):

String temp = http://www.hudong.com/wiki/%E5%8D%95%E6%9B%B2%E5%BE%AA%E7%8E%AF%E7%97%87temp = URLDecoder.decode(temp,"utf-8");

編碼的方法為URLEncoder.encode();


2、java讀寫excel檔案:(已上傳資源,可下載,在我的資源裡面)

   DecodeExcelJXL.java

   通過args[]直接獲得shell指令碼傳過來的參數。

 public static void main(String[] args) throws BiffException, IOException, RowsExceededException, WriteException{//      根據是否有參數,取得待處理excel表格        if (args != null && args.length == 1) {            filePath=args[0];        }        rewriteWithNew(filePath);    }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.