在我的应用程序中,我有一个链表(类型列表),每次用户启动应用程序时,我都想从内部存储器恢复列表(如果内部存储器上有保存的文件)或创建一个新的列表(稍后保存)。
如何使用读/写函数(在FileInputStream/FileOutputStream上)来执行此操作?
发布于 2011-10-06 23:30:44
请参阅此问题,它是关于如何使用 SharedPreferences保存Object :how android SharedPreferences save/store object ?
编辑:引用此one,它是关于如何使用内部存储来保存/恢复对象
发布于 2012-07-27 16:24:55
//save file into internal
try {
URL url = new URL("your url");
java.io.BufferedInputStream in = new java.io.BufferedInputStream(url.openStream());
FileOutputStream fos ;
fos = openFileOutput("test11.xml",Context.MODE_WORLD_WRITEABLE);
java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
byte[] data = new byte[1024];
int x=0;
while((x=in.read(data,0,1024))>=0){
bout.write(data,0,x);
}
fos.flush();
bout.flush();
fos.close();
bout.close();
in.close();
fos.close();
Toast.makeText(
AndroidInternalStorageActivity.this,
fileName + " saved",
Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//List of internal files
void ShowSavedFiles(){
SavedFiles = getApplicationContext().fileList();
Log.e("file path is :",Arrays.toString(SavedFiles));
ArrayAdapter<String> adapter
= new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
SavedFiles);
listSavedFiles.setAdapter(adapter);
}
//Delete internal file
File dir = getFilesDir();
File file = new File(dir, "test.xml");
Log.e("file path : ",file.toString());
boolean deleted = file.delete();
if(deleted)
{
Log.e("delete ","true");
}
else
{
Log.e("delete","false");
}https://stackoverflow.com/questions/7676383
复制相似问题