android文件读写以及不同应用之间的文件读写操作

来源:互联网 发布:淘宝店铺头像怎么设置 编辑:程序博客网 时间:2024/05/18 00:35
/********************************************/>android文件读写以及不同应用之间的文件读写操作/********************************************/0.代码分析/********************************************/public class MainActivity extends Activity {private EditText fileName;private EditText content;//定义一个匿名的内部类根据触发的不同的按钮进行处理private View.OnClickListener listener = new View.OnClickListener() {@Overridepublic void onClick(View v) {// v表示当前被点击触发的按钮的引用String cont = MainActivity.this.content.getText().toString();String fname = MainActivity.this.fileName.getText().toString();int rid = R.string.success;switch (v.getId()) {case R.id.button:try {FileOutputStream outStream = MainActivity.this//Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE表示具有读写权限.openFileOutput(fname, Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);FileService.save(outStream, cont);//将内容写入磁盘} catch (Exception e) {Log.i("MainActivity", "保存内容出现错误:\n"+e.toString());rid = R.string.error;}break;case R.id.showbutton:try {FileInputStream finStream = MainActivity.this.openFileInput(fname);Log.i("MainActivity", "读取结果:\n"+FileService.read(finStream));} catch (FileNotFoundException e) {Log.i("MainActivity","没有找到需要读取的文件:\n"+ e.toString());rid = R.string.error;} catch (IOException e) {Log.i("MainActivity", "读取文件流出现异常:\n"+e.toString());rid = R.string.error;}break;}//做出消息响应Toast.makeText(MainActivity.this, rid, Toast.LENGTH_LONG).show();}};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);fileName = (EditText) this.findViewById(R.id.fileName);content = (EditText) this.findViewById(R.id.content);Button savebtn = (Button) this.findViewById(R.id.button);Button showbtn = (Button) this.findViewById(R.id.showbutton);savebtn.setOnClickListener(this.listener);showbtn.setOnClickListener(this.listener);}}/********************************************/1.如何在另外一个应用中做单元测试检测我是否有权限访问某个别的应用创建的文件/********************************************/public class testFilePermission extends AndroidTestCase {public static String read(InputStream inStream)throws IOException {byte[] bt = new byte[inStream.available()];inStream.read(bt);return new String(bt);}public void testRead(){try {File file = new File("/data/data/com.zyb.file/files/hh");//需要注意的是这里我不是用的//this.getContext().openFileInput("/data/data/com.zyb.file/files/hh")//这个方法这个方法是错误的因为他是基于他自己的上下文的路径去访问的FileInputStream finStream = new FileInputStream(file);Log.i("testFilePermission", read(finStream));} catch (IOException e) {Log.i("testFilePermission","异常:\n"+ e.toString());}}}/********************************************/

原创粉丝点击