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

读取别的apk内部全局文件的问题

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

当一个apk调用一下的代码新建一个内部全局文件:

public void save()
    {
        try {
            FileOutputStream outStream=this.openFileOutput("a.txt",Context.MODE_WORLD_READABLE);
            outStream.write(“ggggg”.getBytes());
            outStream.close();
            Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show();
        } catch (FileNotFoundException e) {
            return;
        }
        catch (IOException e){
            return ;
        }
    }


另外一个apk可以读取这个文件,但是路径包名字带点,直接调用会exception,报“xxxxxx contains a path separator” ,因此需要用file转换下,如下的代码

   public String readFileData(String fileName){ 

        String res=""; 

        try{ 
        File file = new File(fileName);
        // FileInputStream fin = openFileInput(file); 
         FileInputStream fin = new FileInputStream(file);
         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; 

    }   

抱歉!评论已关闭.