首页 > 代码库 > Android Saving Data(二)
Android Saving Data(二)
Saving File
android读写文件的形式和普通的java IO的方式并没有什么不同,唯一有所限制的是当我们创建文件的时候不能够在像javaSE那样随意了。一般android读写文件有两种形式:
1 File file = new File(context.getFilesDir(), filename);
2 FileOutputStream outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
强烈推荐使用第一种方式,因为在第一种方式的情况下我们可以使用许多高级点的文件读写方法,这样不说能提高效率,但是能够减少错误概率。
代码:
public class MainActivity extends Activity { TextView view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_layout); view=(TextView) findViewById(R.id.textView1); Button write=(Button) findViewById(R.id.button1); write.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub view.setText(getFilesDir().toString()); String filename = "myfile"; String string = "Hello world!"; FileOutputStream outputStream; try { outputStream = openFileOutput(filename, Context.MODE_APPEND); PrintWriter pw=new PrintWriter(outputStream); pw.println(string); pw.close(); if(outputStream!=null)outputStream.close(); } catch (Exception e) { e.printStackTrace(); } } }); Button read=(Button) findViewById(R.id.button2); read.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String filename="myfile"; try { BufferedReader reader=new BufferedReader(new FileReader(new File(getFilesDir(), filename))); String res=""; res=reader.readLine(); view.setText(res); reader.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } }
注意:android中内存和外存的读写没有什么不同,内存获取目录使用getFileDir(),而外存用:getExternalStoragePublicDirectory()用于在外存公共部分保存文件
getExternalFilesDir()用于保存个人文件的时候使用。
此外:
getExternalStorageState()
查询外部存储状态;
getFreeSpace()
或 getTotalSpace()查出是否有足够的可用空间;
getCacheDir()
定期创建的所有缓存文件。
Android Saving Data(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。