实现思路
对将要记录的内容获取hashcode值,存到一个专门存放这些hashcode值的配置文件中。每次写入之前,先去配置文件中寻找是否已存在,如已存在,不写入,如不存在,先写入hashcode值到配置文件中,再写入字符串内容到文件中。
下面代码只是一个参考,上面实现思路已经是精华了。
假定目标配置文件为:fileName="./src/main/resources/hashcode.txt";
/**
* 在配置文件中查找hashcode值是否已存在;
*/
public static boolean findHashCode(int hashcode){
BufferedReader br = null;
try{
File file = new File(fileName);
if(!file.exists()){
file.createNewFile();
}
br = new BufferedReader(new FileReader(fileName));
String line = null;
while((line = br.readLine()) != null){
if(hashcode == Integer.parseInt(line)){
return true;
}
}
} catch (IOException e){
e.printStackTrace();
} finally{
try{
if(br != null){
br.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
return false;
}
/**
* 在配置文件中写入hashcode值;
*/
public static void writeToFile(int hashcode){
BufferedWriter bw = null;
try{
bw = new BufferedWriter(new FileWriter(fileName,true));
bw.write(hashcode + "\n");
bw.flush();
} catch(IOException e){
e.printStackTrace();
} finally{
try{
if(bw != null){
bw.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
}