安卓中的文件的操作基本沿用Java的方法,但是有时候需要结合手机的特性进行优化。这次的需求是要求将用户输入的内容保存到本地文件,是追加到文件中,每次写入的内容都不同,代码和功能都没难度,直接上代码。
/**
* 使用BufferedWriter进行文本内容的追加
* @param file
* @param content
*/
private void addTxtToFileBuffered(File file, String content) {
//在文本文本中追加内容
BufferedWriter out = null;
try {
//FileOutputStream(file, true),第二个参数为true是追加内容,false是覆盖
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)));
out.newLine();//换行
out.write(content);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(out != null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 使用FileWriter进行文本内容的追加
* @param file
* @param content
*/
private void addTxtToFileWrite(File file, String content){
FileWriter writer = null;
try {
//FileWriter(file, true),第二个参数为true是追加内容,false是覆盖
writer = new FileWriter(file, true);
writer.write("\r\n");//换行
writer.write(content);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(writer != null){
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
带有的代码很简单,也一起写上来。直接在SD卡目录操作,方便查看。实际开发中结合自己的需求进行路径的调整,还有注意读取存储文件的权限的问题。
File file = new File("/sdcard/add.txt");
// addTxtToFileBuffered(file,"追加的内容");
addTxtToFileWrite(file,"filewrite追加内容");