zoukankan      html  css  js  c++  java
  • 转 Android

    一、资源文件的读取:

     1) 从resource的raw中读取文件数据:

    String res = ""; 
    try{ 
    
    //得到资源中的Raw数据流
    InputStream in = getResources().openRawResource(R.raw.test);
    
    //得到数据的大小
    int length = in.available();
    
    byte [] buffer = new byte[length];
    
    //读取数据
    in.read(buffer);
    
    //依test.txt的编码类型选择合适的编码,如果不调整会乱码 
    res = EncodingUtils.getString(buffer, "BIG5"); 
    
    //关闭 
    in.close();
    
    }catch(Exception e){ 
    e.printStackTrace(); 
    }

    2) 从resource的asset中读取文件数据

    String fileName = "test.txt"; //文件名字 
    String res=""; 
    try{ 
    
       //得到资源中的asset数据流
       InputStream in = getResources().getAssets().open(fileName); 
    
       int length = in.available();         
       byte [] buffer = new byte[length];        
    
       in.read(buffer);            
    
       res = EncodingUtils.getString(buffer, "UTF-8");     
    
      }catch(Exception e){ 
    
          e.printStackTrace();         
    
       } 

    二、读写/data/data/<应用程序名>目录上的文件:

    //写数据
    public void writeFile(String fileName,String writestr{ 
      try{ 
    
            FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE); 
    
            byte [] bytes = writestr.getBytes(); 
    
            fout.write(bytes); 
    
            fout.close(); 
          } 
    
            catch(Exception e){ 
            e.printStackTrace(); 
           } 
    } 
    
    //读数据
    public String readFile(String fileName){ 
      String res=""; 
      try{ 
             FileInputStream fin = openFileInput(fileName); 
             int length = fin.available(); 
             byte [] buffer = new byte[length]; 
             fin.read(buffer);     
             res = EncodingUtils.getString(buffer, "UTF-8"); 
             fin.close();     
         } 
         catch(Exception e){ 
             e.printStackTrace(); 
         } 
         return res; 
    
    }   

    三、读写SD卡中的文件。也就是/mnt/sdcard/目录下面的文件 :

    //写数据到SD中的文件
    public void writeFileSdcardFile(String fileName,String write_str){ 
     try{ 
    
           FileOutputStream fout = new FileOutputStream(fileName); 
           byte [] bytes = write_str.getBytes(); 
    
           fout.write(bytes); 
           fout.close(); 
         }
    
          catch(Exception e){ 
            e.printStackTrace(); 
           } 
       } 
    
      
    //读SD中的文件
    public String readFileSdcardFile(String fileName){ 
      String res=""; 
      try{ 
             FileInputStream fin = new FileInputStream(fileName); 
    
             int length = fin.available(); 
    
             byte [] buffer = new byte[length]; 
             fin.read(buffer);     
    
             res = EncodingUtils.getString(buffer, "UTF-8"); 
    
             fin.close();     
            } 
    
            catch(Exception e){ 
             e.printStackTrace(); 
            } 
            return res; 
    } 
  • 相关阅读:
    LeetCode第242题:有效的字母异位词
    commons lang组件介绍和学习
    java中如何将string 转化成long
    java 字符串按小数点分割
    界面优化处理技术之(一)按钮组件优化处理
    系统登陆界面开发及实现之(五)界面版权组件设置
    系统登陆界面开发及实现之(四)界面登录框组件设置
    系统登陆界面开发及实现之(三)界面标题组件设置
    系统登陆界面开发及实现之(二)添加界面背景图片
    转发:base64引起的血案
  • 原文地址:https://www.cnblogs.com/yshyee/p/3368545.html
Copyright © 2011-2022 走看看