在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
沒有留言:
張貼留言