安卓文件写入与读取

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

//写数据  
public void writeFile(String fileName,String writestr) throws IOException{   
  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) throws IOException{   
  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的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);              
   in.close();  
   res = EncodingUtils.getString(buffer, "UTF-8");       

  }catch(Exception e){   

      e.printStackTrace();           

   }  

从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();           
   }   

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

//写数据到SD中的文件  
public void writeFileSdcardFile(String fileName,String write_str) throws IOException{   
 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) throws IOException{   
  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;   
}   

使用File类进行文件的读写

//读文件  
public String readSDFile(String fileName) throws IOException {    

        File file = new File(fileName);    

        FileInputStream fis = new FileInputStream(file);    

        int length = fis.available();   

         byte [] buffer = new byte[length];   
         fis.read(buffer);       

         res = EncodingUtils.getString(buffer, "UTF-8");   

         fis.close();       
         return res;    
}    

//写文件  
public void writeSDFile(String fileName, String write_str) throws IOException{    

        File file = new File(fileName);    

        FileOutputStream fos = new FileOutputStream(file);    

        byte [] bytes = write_str.getBytes();   

        fos.write(bytes);   

        fos.close();   
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值