现在的位置: 首页 > 综合 > 正文

java io正确读取

2017年12月06日 ⁄ 综合 ⁄ 共 1697字 ⁄ 字号 评论关闭

写入

 public static void Writer(String value) {
         try{
          File file2 = new File("F://countDB.txt");
          if(!file2.exists()){
            file2.createNewFile();
          }
          FileOutputStream writer = new FileOutputStream(file2,true);
          OutputStreamWriter rp = new OutputStreamWriter(writer,"GBK");
          BufferedWriter tmpBR = new BufferedWriter(rp,1024*1024);
          tmpBR.write(value+"/r/n");
          tmpBR.flush();
          tmpBR.close();
          rp.flush();
          rp.close();
          writer.flush();
          writer.close();
         }catch(Exception ex){
          //ex.fillInStackTrace();
         }
         
     }

 

查询

File file = new File("E://DB.txt");
       FileInputStream read = new FileInputStream(file);
       InputStreamReader rp = new InputStreamReader(read,"GBK");
       BufferedReader tmpBR = new BufferedReader(rp,1024*1024);
       String tmpLine = tmpBR.readLine();
      
       while (tmpLine != null) {
        i++;
        String key =tmpLine;
         String [] arry =key.split("#");
         uid = arry[0];
         if(uid.indexOf("?") == -1 && uid.length() ==32 ){
         experience = Integer.valueOf(arry[1]);
      //插入数据开始
      String sql;
         sql ="from Testdb where uid='"+uid+"'";
         Testdb db = (Testdb)commonDAO.findSingleObj(sql);
         if(db !=null){
          if(db.getExperience()<experience){
           db.setExperience(experience);
              commonDAO.saveObj(db);
             }
          }else{
             db = new Testdb();
             db.setExperience(experience);
             db.setUid(uid);
             commonDAO.saveObj(db);
             }
        }else{
         r++;
        }
        tmpLine=tmpBR.readLine(); 
             }
       tmpBR.close();
       rp.close();
       read.close();
          }catch(Exception ex){
           ex.fillInStackTrace();
          }

经过测试 百万数据插入1M 5分钟

抱歉!评论已关闭.