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; 
    } 
  • 相关阅读:
    linux 总结一下git reset的各个选项吧
    深入C++的new
    Android中binderDied()以及"Unknown binder error code" 出现的原因说明
    C/C++语言void及void指针深层探索
    Android 不通过USB数据线调试的方法
    Android Browser Gallery3D无法两指手势缩放
    Android eMMC Booting
    android基础知识13:AndroidManifest.xml文件解析
    Package sunjava6jdk is not available Ubuntu 10.04 LTS 安装sunjava6jdk ,出现错误
    SQL Server 2008中Service Broker基础应用(上)
  • 原文地址:https://www.cnblogs.com/yshyee/p/3368545.html
Copyright © 2011-2022 走看看