<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大數據存儲問題的代碼(初級),沒有進行優化的。

    代碼在前天做好了,但是一直都沒時間去修改,
    偷下懶吧。
    呵呵
    放出來只是給大家一點參考。
    我用的表示temp。中間有三個屬性time(存儲系統當前時間),title(文件名稱),context(文件中文本內容),
    其中測試的是在E盤下的test文件夾下的文件,(文件采用問txt的)。
    oracle是10 XE版本的。驅動是class12.
    下面就是代碼了。

    package PreparedTest;

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class lsat {
     static String driverClass = "oracle.jdbc.driver.OracleDriver";
     static String URL = "jdbc:oracle:thin:@localhost:1521:XE";
     static String USERNAME = "system";
     static String PASSWORD = "duduli";
     static Connection con = null;
     static Statement stmt = null;
     static ResultSet rs = null;
     static String filePathName = null;
     static String fileName = null;
     
     public static String  getFileName(File file){  
            String filename = "";  
            if (file != null){  
                    filename = file.getName();  
                    int i = filename.lastIndexOf('.');  
                    if (i > 0 && i < filename.length()-1){  
                            return filename.substring(0,i);  
                    }  
            }  
            return   filename;  
    }
     
     
        public static void clobInsert(String filepath)throws Exception {
         try {
          File file = new File(filepath);
          if (file.isDirectory()) {
                      //System.out.println("文件夾");
           String[] filelist = file.list();
           for (int i = 0; i < filelist.length; i++) {
               
         Date dateNow = new Date();     // 取得當前時間
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh"); // 對時間進行格式化
         String dateNowStr = dateFormat.format(dateNow);
         System.out.println(dateNowStr);
         
            File readfile = new File(filepath + "\\" + filelist[i]);
               //文件掃描
            filePathName = readfile.getAbsolutePath();
            if (!readfile.isDirectory()) {
             fileName = getFileName(readfile);
             System.out.print("一個文件!\t");
                System.out.println("文件名:"+fileName);
             System.out.println("文件地址"+filePathName);

            } else if (readfile.isDirectory()) {
             fileName = getFileName(readfile);
                System.out.print("一個文件夾!\t");
                System.out.println("文件夾名:"+fileName);
             System.out.println("文件夾地址:"+filePathName);
             clobInsert(filepath + "\\" + filelist[i]);
             }
            
                  boolean defaultCommit = con.getAutoCommit();
                   con.setAutoCommit(false);
                   try {

                       /* 插入一個空的CLOB對象 */

              
              
                       stmt.executeUpdate("INSERT INTO temp VALUES ('"+dateNowStr+"', '"+filePathName+"',EMPTY_CLOB())");
                       /* 查詢此CLOB對象并鎖定 */
                       ResultSet rs = stmt.executeQuery("SELECT context FROM temp WHERE title='"+filePathName+"' FOR UPDATE");
           
                       while (rs.next()) {
                           /* 取出此CLOB對象 */
                           oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("context");
                           /* 向CLOB對象中寫入數據 */
                           BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
                           BufferedReader in = new BufferedReader(new FileReader(fileName));
                           int c;
                           while ((c=in.read())!=-1) {
                               out.write(c);
                           }
                           in.close();
                           out.close();
                       }
                       /* 正式提交 */
                       con.commit();
                   } catch (Exception ex) {
                       /* 出錯回滾 */
                       con.rollback();
                   }
                   /* 恢復原提交狀態 */
                   con.setAutoCommit(defaultCommit);
            }
           }
          
           /* 設定不自動提交 */
     
      }
            catch (FileNotFoundException e) {
            System.out.println("readfile() Exception:" + e.getMessage());
           }
          }
        public static void main(String[] args) throws Exception
        {
            /* 裝載驅動,建立數據庫連接 */
            Class.forName(driverClass);
            con = DriverManager.getConnection(URL,USERNAME,PASSWORD);
            stmt = con.createStatement();
           
       
           clobInsert("e:/test");

      try {
       if (rs != null) {
        rs.close();
       }
       if (stmt != null) {
        stmt.close();
       }
       if (con != null) {
        con.close();
       }
      } catch (Exception e) {
      }
        }
    }



    寫得很凌亂,大家就勉強看看吧。

    posted on 2008-09-15 21:15 duduli 閱讀(1572) 評論(2)  編輯  收藏 所屬分類: java

    評論

    # re: 大數據存儲問題的代碼(初級),沒有進行優化的。 2008-09-17 21:26 44you

    我google了下,不是oracle.sql.CLOB ,提示,您是不是要找 oracle.sql.BLOB  回復  更多評論   

    # re: 大數據存儲問題的代碼(初級),沒有進行優化的。 2008-09-18 12:07 duduli

    沒錯是clob

      CLOB: 字符大對象Clob 用來存儲單字節的字符數據
      BLOB: 用于存儲二進制數據

    @44you
      回復  更多評論   

    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    導航

    統計

    公告

    welcome to my place.

    常用鏈接

    留言簿(5)

    我參與的團隊

    隨筆分類

    隨筆檔案

    新聞分類

    石頭JAVA擺地攤兒

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    @duduli
    主站蜘蛛池模板: 无码不卡亚洲成?人片| 一本色道久久88亚洲综合| 国产亚洲精品影视在线产品| 亚洲国产区男人本色| 成年人免费视频观看| 亚洲粉嫩美白在线| 国产一卡二卡3卡四卡免费| 国产又长又粗又爽免费视频 | 亚洲无av在线中文字幕| 一级成人生活片免费看| 中文亚洲成a人片在线观看| 一级毛片大全免费播放| 亚洲中文字幕无码专区| 最新久久免费视频| 亚洲日韩欧洲乱码AV夜夜摸| 国产免费一区二区三区在线观看| 亚洲国产精品福利片在线观看| 免费毛片在线看不用播放器 | 久久国产免费福利永久| 亚洲综合无码无在线观看| 国产色婷婷精品免费视频| 免费一级毛suv好看的国产网站| 亚洲免费日韩无码系列| 九九精品成人免费国产片| 亚洲美女大bbbbbbbbb| 最近2019中文字幕免费看最新| 亚洲av成人一区二区三区在线播放| 全黄a免费一级毛片人人爱| 两个人www免费高清视频| 777亚洲精品乱码久久久久久 | 免费国产在线观看| 国内精品免费在线观看| 亚洲一区二区三区91| 国产小视频免费观看| 嫩草在线视频www免费观看 | 亚洲日产2021三区在线| 国产麻豆免费观看91| A国产一区二区免费入口| 亚洲一区二区三区四区视频| 免费在线一级毛片| 在线成人爽a毛片免费软件|