现在的位置: 首页 > 综合 > 正文

文件读写

2018年01月17日 ⁄ 综合 ⁄ 共 2735字 ⁄ 字号 评论关闭

1.sdcard文件、自己应用包内部的文件和别的应用包的文件的读取

    /*******************************************************************
     * 0获取别的apk内部的文件
     * 1.获取sdcard的文件
     * 2.获取自己内部的文件
     * 
     * *******************************************************************/
    private String readFileData(String fileName,int num){ 

        String res=null; 

        try{ 
        
FileInputStream fin=null;
        

        
if(num==0)
        {
        
File file = new File(fileName);
        // FileInputStream fin = openFileInput(file); 
        
 fin = new FileInputStream(file);
        
 Log.v(m_log,"read ID from other apk inside files\n");
        }
        
 else if(num==1)
        
 {
        
 fin = new FileInputStream(fileName);
        
 Log.v(m_log,"read ID from SDCARD files\n");
        
 
        
 }
        
 else if (num==2)
        
 {
        
 
        
 fin = localcontext.openFileInput(fileName);
        
 Log.v(m_log,"read ID from APK inside  files\n");
        
 
        
 }
        
 else
        
 {
        
 /*****其他的情况************/
        
 Log.v(m_log,"not support this type  read file \n");
        
 }
        

        
if(fin==null)
        
return null;
        

        
int length = fin.available(); 

        
byte [] buffer = new byte[length]; 

        
fin.read(buffer);     

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

        
fin.close();    
        
        
Log.v(m_log,"read  files sucess\n");
        

        catch(Exception e){ 
        
Log.v(m_log,"error in read  files \n");
        
//e.printStackTrace(); 

        } 
        
       String data=decodeAndcheck(res);
        
        return data; 

    } 

2.写sd卡文件和写文件到应用自己的内部包

   /*******************************************************************
     * 0写到apk内部的文件
     * 1.写到sdcard的文件
     * 
     * *******************************************************************/
 private static boolean writeFileData(Context context,String fileName,String message,int num)
 { 

     boolean res=false; 
     String encode_message=null;
     String writemessage=null;
    
if(message==null)
return false;
 
// int Stringhash=message.hashCode();
 
// encode_message=encodedata(message);
// writemessage=encode_message+":"+Stringhash;

         try{ 
        
 FileOutputStream fout=null; 
          if(num==0)
           {
                 fout =context.openFileOutput(fileName, Context.MODE_WORLD_READABLE);
                 Log.v(m_log,"write file to inside apk package \n");
           }
          else if(num==1)
          {
         
 
               fout = new FileOutputStream(fileName);
               Log.v(m_log,"write file to sdcard \n");
         
 
          } 
          else
          {
         
 /*************************/
         
 Log.v(m_log,"not support this type  write file to sdcard \n");
          }
          
          if(fout==null)
         
 return false;
          
                byte [] bytes = message.getBytes(); 

                fout.write(bytes); 

                 fout.close(); 
                 res=true;
                 Log.v(m_log,"write file sucess \n");
                 
                } 

               catch(Exception e){ 
            
   
            
 Log.v(m_log,"error in write file to apk \n");
                e.printStackTrace(); 

               } 

  return res; 
    }  
    

3.System.loadLibrary的失败被接受的时间是UnsatisfiedLinkError;

抱歉!评论已关闭.