现在的位置: 首页 > 移动开发 > 正文

Android入门进阶教程(23)-内存中读/取数据

2019年09月08日 移动开发 ⁄ 共 1858字 ⁄ 字号 评论关闭
在内存中读  写文件: 

小贴士: 
* 获取内存中的根目录:Environment.getRootDirectory(); 

写文件: 
/* 测试:将文件写入到内存中 */ 

Java代码  收藏代码
  1. /* 默认的目录为:\data\data\com.test\files */  
  2. OnClickListener listener_write_rom = new OnClickListener() {  
  3.   
  4.     public void onClick(View v) {  
  5.         /* 保存数据的文件名, 以及类型 */  
  6.         String fileName = "f.txt";  
  7.           
  8.         /* 保存的数据信息 ,  即文件里面的内容 */  
  9.         String message = "测试将数据写入到内存";  
  10.           
  11.         try{  
  12.             /* 获取输出流的对象 */  
  13.             FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE);  
  14.               
  15.             /* 创建一个 字节数组保存要写入的数据,将字符转为字节数组*/  
  16.             byte[] buffer = message.getBytes();  
  17.               
  18.             /* 开始写入数据 */  
  19.             fout.write(buffer);  
  20.               
  21.             /* 关闭流 */  
  22.             fout.close();  
  23.               
  24.         }catch(Exception ex){  
  25.             ex.printStackTrace();  
  26.         }  
  27.     }  
  28. };  
  29.   
  30.   
  31. 取内存中的数据信息:  
  32. /* 测试:读取内存中的文件 *//* 读取内存中文件中的数据, 并显示给用户 */  
  33. OnClickListener listener_read_rom = new OnClickListener() {  
  34.       
  35.     public void onClick(View v) {  
  36.         try{  
  37.             /* 获取内存中保存数据的根目录 */  
  38.             File baseFileName = Environment.getRootDirectory();  
  39.               
  40.             /* 获取流的对象, 并指定操作的是对哪个文件进行数据的读取  */  
  41.             FileInputStream fis = openFileInput("f.txt");  
  42.               
  43.             /* 判断文件大小 */  
  44.             int length = fis.available();  
  45.               
  46.             /* 容器,装读出的数据 */  
  47.             byte[] buffer = new byte[length];  
  48.               
  49.             /* 开始读取数据 */  
  50.             fis.read(buffer);  
  51.               
  52.             /* 转换字符编码 */  
  53.             String res = EncodingUtils.getString(buffer, "UTF-8");  
  54.               
  55.             /* 关闭流 */  
  56.             fis.close();  
  57.               
  58.             /* 提示用户 */  
  59.             Toast.makeText(MainActivity.this, res, 1000).show();  
  60.         }catch(Exception ex){  
  61.               
  62.         }             
  63.           
  64.     }  
  65. };  

抱歉!评论已关闭.