您的位置:首页 > 移动开发 > Android开发

android文件存储

2016-04-24 10:07 519 查看
为了输出数据,要把list中存储的写到一个txt文件里,就顺手学了一下 文件存储的方法,说是学,其实又是百度之后复制粘贴。不过学到了一个关于java中的一个知识点,就是使用list的add方法时,其实加入的是一个引用,我在循环外new了一个对象,然后在循环里面多次修改了这个对象的值,然后用add添加,结果发现list里的值是相同的,经百度才知道add的是对象的引用,解决方法是在循环里new新的对象,这样就是不同的了。啊,下面是文件存储从代码,写得挺好的,收藏一下啦~

public void writeTxtToFile(String strcontent, String filePath, String fileName) {
//生成文件夹之后,再生成文件,不然会出错
makeFilePath(filePath, fileName);

String strFilePath = filePath+fileName;
// 每次写入时,都换行写
String strContent = strcontent + "\r\n";
try {
File file = new File(strFilePath);
if (!file.exists()) {
Log.d("TestFile", "Create the file:" + strFilePath);
file.getParentFile().mkdirs();
file.createNewFile();
}
RandomAccessFile raf = new RandomAccessFile(file, "rwd");
raf.seek(file.length());
raf.write(strContent.getBytes());
raf.close();
} catch (Exception e) {
Log.e("TestFile", "Error on write File:" + e);
}
}

// 生成文件
public File makeFilePath(String filePath, String fileName) {
File file = null;
makeRootDirectory(filePath);
try {
file = new File(filePath + fileName);
if (!file.exists()) {
file.createNewFile();
}
} catch (Exception e) {
e.printStackTrace();
}
return file;
}

// 生成文件夹
public static void makeRootDirectory(String filePath) {
File file = null;
try {
file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
} catch (Exception e) {
Log.i("error:", e+"");
}
}
然后调用只需要writeTxtToFile(“content”, filePath, fileName);一句话就可以把内容写到文件里了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: