1.存储数据
/**
* 数据存放在本地
*
* @param tArrayList
*/
public void saveStorage2SDCard(ArrayList tArrayList, String fileName) {
FileOutputStream fileOutputStream = null;
ObjectOutputStream objectOutputStream = null;
FileInputStream fileInputStream = null;
try {
File file = FileUtils.getFile(File.separator + FileUtils.projectPath + File.separator + fileName);
fileOutputStream = new FileOutputStream(file.toString()); //新建一个内容为空的文件
objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(tArrayList);
} catch (Exception e) {
e.printStackTrace();
}
if (objectOutputStream != null) {
try {
objectOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.取数据
/**
* 获取本地的List数据
*
* @return
*/
public ArrayList<StorageEntity> getStorageEntities(String fileName) {
ObjectInputStream objectInputStream = null;
FileInputStream fileInputStream = null;
ArrayList<StorageEntity> savedArrayList = new ArrayList<>();
try {
File file = FileUtils.getFile(File.separator + FileUtils.projectPath + File.separator + fileName);
fileInputStream = new FileInputStream(file.toString());
objectInputStream = new ObjectInputStream(fileInputStream);
savedArrayList = (ArrayList<StorageEntity>) objectInputStream.readObject();
} catch (Exception e) {
e.printStackTrace();
}
return savedArrayList;
}
getFile()方法
/**
* 创建文件
*
* @param filePath 文件存放路径
*/
public static File getFile(String filePath) {
//获取SDCard根目录
String sdCardPath = StorageHelper.getSDCardPath();
File file = new File(sdCardPath + filePath);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
FileUtils下载地址: https://pan.baidu.com/s/1UakNkShQeWJ8-9jEYTP_lg