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; 
    } 
  • 相关阅读:
    谈一谈循环的性能提升
    Web前端性能优化的9大问题
    随机获取一种颜色值的三种方法
    ES6还是ES2015?
    history.back(-1)和history.go(-1)的区别
    关于overflow-y:scroll ios设备不流畅的问题
    前端如何压缩图片
    【转】理解JavaScript之闭包
    关于如何给数字排序
    本地缓存localstorage使用
  • 原文地址:https://www.cnblogs.com/yshyee/p/3368545.html
Copyright © 2011-2022 走看看