写入
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分钟