Android读写文件

来源:互联网 发布:微信加粉软件靠谱吗 编辑:程序博客网 时间:2024/05/18 00:16

  Android读写文件

 

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

String res =""; try{ InputStream in =getResources().openRawResource(R.raw.bbi); //在\Test\res\raw\bbi.txt,  intlength =in.available();         byte[] buffer =newbyte[length];          in.read(buffer);           //res =EncodingUtils.getString(buffer, "UTF-8");  //res =EncodingUtils.getString(buffer, "UNICODE");   res =EncodingUtils.getString(buffer,"BIG5");   //依bbi.txt的编码类型选择合适的编码,如果不调整会乱码  in.close();              }catch(Exception e){      e.printStackTrace();           } myTextView.setText(res);//把得到的内容显示在TextView上


 

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

String fileName ="yan.txt";//文件名字String res=""; try{   InputStream in =getResources().getAssets().open(fileName);  // \Test\assets\yan.txt这里有这样的文件存在  intlength =in.available();         byte[] buffer =newbyte[length];        in.read(buffer);            res =EncodingUtils.getString(buffer,"UTF-8");     }catch(Exception e){      e.printStackTrace();           }


 

三、      sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adb.exe把本地计算机上的文件copysdcard上去,adb.exe push e:/Y.txt/sdcard/,不可以用adb.exe pushe:\Y.txt\sdcard\同样:把仿真器上的文件copy到本地计算机上用:adb pull./data/data/com.tt/files/Test.txt e:/

 

String fileName ="/sdcard/Y.txt";//也可以用String fileName ="mnt/sdcard/Y.txt";String res="";     try{ FileInputStream fin =newFileInputStream(fileName);//FileInputStream fin =openFileInput(fileName);  //用这个就不行了,必须用FileInputStream   intlength = fin.available();    byte[] buffer =newbyte[length];    fin.read(buffer);        res = EncodingUtils.getString(buffer,"UTF-8");    fin.close();        }catch(Exception e){          e.printStackTrace(); } myTextView.setText(res);


 

四、      写文件,一般写在\data\data\com.test\files\里面,打开DDMS查看fileexplorer是可以看到仿真器文件存放目录的结构的

   

String fileName ="TEST.txt";  String message ="FFFFFFF11111FFFFF";writeFileData(fileName,message);    publicvoidwriteFileData(String fileName,Stringmessage){      try{       FileOutputStream fout =openFileOutput(fileName,MODE_PRIVATE);      byte[] bytes =message.getBytes();       fout.write(bytes);        fout.close();       }      catch(Exception e){       e.printStackTrace();      }   } 

 

五、      写,data/data/目录(相当AP工作目录)上的文件,openFileOutput

 

 //写文件在./data/data/com.tt/files/下面  publicvoidwriteFileData(String fileName,Stringmessage){      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/下面  publicString readFileData(StringfileName){       String res="";       try{        FileInputStream fin = openFileInput(fileName);        intlength =fin.available();        byte[] buffer =newbyte[length];        fin.read(buffer);            res = EncodingUtils.getString(buffer,"UTF-8");        fin.close();           }       catch(Exception e){        e.printStackTrace();       }       returnres;    }   

六、      写,sdcard目录上的文件,要用FileOutputStream不能用openFileOutput

 

//写在/mnt/sdcard/目录下面的文件  publicvoidwriteFileSdcard(StringfileName,String message){      try{       //FileOutputStreamfout =openFileOutput(fileName, MODE_PRIVATE);     FileOutputStream fout =newFileOutputStream(fileName);      byte[] bytes =message.getBytes();       fout.write(bytes);        fout.close();       }      catch(Exception e){       e.printStackTrace();      }   }    //读在/mnt/sdcard/目录下面的文件  publicString readFileSdcard(StringfileName){      String res="";       try{        FileInputStream fin =newFileInputStream(fileName);        intlength =fin.available();        byte[] buffer =newbyte[length];        fin.read(buffer);            res = EncodingUtils.getString(buffer,"UTF-8");        fin.close();           }       catch(Exception e){        e.printStackTrace();       }       returnres;   }

  

 

注:openFileOutput是在raw里编译过的,FileOutputStream是任何文件都可以

 

参考:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-6017.html


原创粉丝点击