Android私有文件资源文件的存取

 

一、私有文件夹下的文件存取(/data/data/包名)

复制代码
 //写文件在./data/data/com.tt/files/下面
   public voidwriteFileData(String fileName,String message){ 
       try{ 
        FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE);
        byte [] bytes = message.getBytes(); 
        fout.write(bytes); 
         fout.close(); 
        } 
       catch(Exception e){ 
        e.printStackTrace(); 
       } 
   }
//-------------------------------------------------------
//读文件在./data/data/com.tt/files/下面
   public String readFileData(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; 
    }  
复制代码

 

 

二、从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)

复制代码
public String getFromRaw(String fileName){  
    String res = "";  
       try{  
        InputStream in = getResources().openRawResource(R.raw.test1);   
        int length = in.available();        
        byte [] buffer = new byte[length];         
        in.read(buffer);          
        res = EncodingUtils.getString(buffer, "UTF-8");     
        in.close();             
       }  
       catch(Exception e){  
        e.printStackTrace();          
       }  
    return res ;  
   }  
复制代码

三、从asset中获取文件并读取数据(资源文件只能读不能写)

复制代码
public String getFromAsset(String fileName){  
    String res="";  
    try{  
     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();          
    }  
    return res;  
   }
复制代码

 

 

 

 

posted @   似水流云  阅读(348)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示