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; 
    } 
  • 相关阅读:
    java实现第八届蓝桥杯生命游戏
    java实现第八届蓝桥杯生命游戏
    进程&线程(&java.lang.Thread)详解
    IDEA入门(1)--lombok和Junit generator2插件的运用
    Ecplise中Junit4单元测试的基本用法
    Java 并发工具箱之concurrent包
    JDK 8 中包列表及介绍
    java中URLEncode和URLDecode
    Mybatis中输出映射resultType与resultMap的区别
    ANSI编码方式转化为UTF-8方式
  • 原文地址:https://www.cnblogs.com/yshyee/p/3368545.html
Copyright © 2011-2022 走看看