我使用以下代码将字符串写入我的简单文本文件:
编辑:
private String fileLocation="/mnt/sdcard/out.txt";
public void saveHisToFile()
{
if (prefs.getBoolean("saveHis", true) && mWordHis != null && mWordHis.size() >= 1)
{
StringBuilder sbHis = new StringBuilder();
Set<String> wordSet= new HashSet<String>(mWordHis);
for (String item : wordSet)
{
sbHis.append(item);
sbHis.append("\n");
}
String strHis = sbHis.substring(0, sbHis.length()-1);
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(
fileLocation), true));
bw.write(strHis);
bw.newLine();
bw.close();
} catch (IOException e) {
}
}
}
字符串成功写入文本文件,但奇怪的是,有些字符串被覆盖了,例如:
apple
orange
grapes
grapes
grapes
apple
kiwi
我的问题是:
- 如何停止多次写入字符串?
- 如果文件中已经存在字符串(一行),如何停止将其写入文件?
我已经查阅了这篇文章,但未能将其应用于我的案例。你能帮忙吗?提前非常感谢。