在AndroidManifest.xml要打開app寫入及讀取的權限:
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
讀取
- private String ReadStringFile(String dir, String filename){
- StringBuilder text = new StringBuilder();
- try {
- File file = new File(Environment.getExternalStorageDirectory() + dir, filename);
- BufferedReader br = new BufferedReader(new FileReader(file));
- String line;
- while ((line = br.readLine()) != null) {
- text.append(line);
- }
- br.close() ;
- }catch (IOException e) {
- e.printStackTrace();
- Toast.makeText(this, "can't find" + dir + filename, Toast.LENGTH_LONG).show();
- }
- Log.d(TAG,"read file-" + dir + filename + ":" + text);
- return text.toString();
- }
寫入
- private void WriteStringFile(String data, String dir, String filename) {
- File file = new File(Environment.getExternalStorageDirectory() + dir, filename);
- FileOutputStream stream = null;
- try {
- stream = new FileOutputStream(file);
- stream.write(data.getBytes());
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
在手機中建立一個myDoc資料夾,裡面放一個file.txt文字檔
程式碼讀取檔案的路徑寫法如下:
- private String str = "";
- private static String text_filepath = "/myDoc/";
- private static String text_filename = "file.txt";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- str = ReadStringFile(text_filepath, text_filename); // read txt file
- WriteStringFile("Hello", text_filepath, text_filename); // write "Hello" into txt file
- }
End
沒有留言:
張貼留言