本文实例讲述了Android数据持久化之File机制。分享给大家供大家参考,具体如下:
在使用Java SE平台开发C/S结构的软件中,File 的IO输入输出流的使用率是非常高的,通过使用IO输入输出流可以对存储介质上的文件进行读写操作,下面的代码就是实现一个在Android平台上使用File对象操作文件的功能:
package com.example.data_file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.util.Log; import android.view.Menu; @SuppressLint("SdCardPath") public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { File file = new File("/data/data/com.example.data_file/file.txt"); Log.v("path=", file.getAbsolutePath()); file.createNewFile(); FileOutputStream fos = new FileOutputStream(file); fos.write("乌拉啦啦啦".getBytes()); fos.close(); FileInputStream fis = new FileInputStream(file); InputStreamReader isReader = new InputStreamReader(fis); char[] charArray = new char[2]; int readLength = isReader.read(charArray); StringBuffer sb = new StringBuffer(); while(readLength != -1) { sb.append(charArray, 0, readLength); readLength = isReader.read(charArray); } Log.v("file.txt文件内容是:", sb.toString()); fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
注意:Linux系统下对权限的要求比较高,不允许随便存储文件,所以存储文件的路径为:/data/data/<包名>/Files/<文件名>
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。