<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 閱讀(1570) 評論(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
    主站蜘蛛池模板: 国产精品九九久久免费视频| 无码的免费不卡毛片视频| 精品亚洲AV无码一区二区| 亚洲aⅴ无码专区在线观看春色| 免费无码国产V片在线观看| 无码精品国产一区二区三区免费 | 破了亲妺妺的处免费视频国产| 亚洲国产精品一区二区第四页| 亚洲国产精品一区二区久| 久久最新免费视频| 日本一道本高清免费| 亚洲精品中文字幕乱码影院| 一级毛片**免费看试看20分钟 | 亚洲人配人种jizz| 中文字幕无码免费久久9一区9 | 麻豆狠色伊人亚洲综合网站| 毛片视频免费观看| 亚洲伊人久久大香线蕉苏妲己| 污视频网站免费在线观看| 亚洲高清偷拍一区二区三区| 五月天婷婷免费视频| 亚洲成在人线av| 一级毛片试看60分钟免费播放| 亚洲码国产精品高潮在线| 成人免费午夜无码视频| 亚洲深深色噜噜狠狠网站| 一区二区视频在线免费观看| 久久国产乱子精品免费女| 无码中文字幕av免费放dvd| 久久亚洲AV成人无码电影| 999国内精品永久免费观看| 久久久久久亚洲av成人无码国产| 免费无码婬片aaa直播表情| 亚洲美女又黄又爽在线观看| 99久久精品日本一区二区免费 | 成人免费视频软件网站| 亚洲理论片在线观看| 成人永久福利免费观看| 91精品全国免费观看青青| 亚洲熟女一区二区三区| 黄色网址免费大全|