当前位置:操作系统 > 安卓/Android >>

android 数据的四种存储方式 之 File

File: 即常说的文件(I/O)存储方法,常用存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

 


下面实现:在本地data文件下使用自己生成的文件处理数据的新建储存 读取 删除

如果说不想把内容存在SharedPreferences中的话,我们可以自己写一个文件保存须要的数据,在这里我将文件保存在系统中的工程路径下。

跟上面布局一样,删除文件也一样,清除内容也查不多,下面只是简单的写和读的方法:

 


写:

 


[java] 
<SPAN style="FONT-SIZE: 12px">String nameage="名字:"+name.getText().toString().trim()+"年龄:"+age.getText().toString(); 
      try { 
         os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE); 
         /* 把字符串转换成字节数组,写入文件中 */ 
         os.write(nameage.getBytes()); 
      } catch (FileNotFoundException e) { 
         e.printStackTrace(); 
      } catch (IOException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            /* 关闭文件输出流 */ 
            os.close(); 
         } catch (IOException e) { 
            e.printStackTrace(); 
         } 
      }</SPAN> 

String nameage="名字:"+name.getText().toString().trim()+"年龄:"+age.getText().toString();
      try {
         os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE);
         /* 把字符串转换成字节数组,写入文件中 */
         os.write(nameage.getBytes());
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      }finally {
         try {
            /* 关闭文件输出流 */
            os.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
      }

 

 

读:

 

[java] 
<SPAN style="FONT-SIZE: 12px">private String read() { 
      String nameage=""; 
      // 打开文件输入流,  
      try { 
         is = this.openFileInput(SHARED_MAIN_XML); 
         /* 初始化字节数组 */ 
         b = new byte[1024]; 
         /* 从文件输入流中读取内容到字节数组中,返回内容长度 */ 
         int length = is.read(b); 
         /* 把字节数组转换成字符串 */ 
         nameage= new String(b); 
      } catch (FileNotFoundException e) { 
         e.printStackTrace(); 
      } catch (IOException e) { 
         e.printStackTrace(); 
      } 
      return nameage; 
   } 
</SPAN> 

private String read() {
      String nameage="";
      // 打开文件输入流,
      try {
         is = this.openFileInput(SHARED_MAIN_XML);
         /* 初始化字节数组 */
         b = new byte[1024];
         /* 从文件输入流中读取内容到字节数组中,返回内容长度 */
         int length = is.read(b);
         /* 把字节数组转换成字符串 */
         nameage= new String(b);
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      }
      return nameage;
   }

 

 


 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,