Android文件讀寫操作

讀取Assets中的文件數據

InputStream is = getResources().getAssets()
                            .open("讀取的文件名");
                    InputStreamReader isr = new InputStreamReader(is,"utf-8");
                    BufferedReader bf = new BufferedReader(isr);
                    String string="";
                    while ((string = bf.readLine()) != null) {
                        System.out.println(string);
                    }

讀取raw中的文件數據

InputStream is = getResources().openRawResource(R.raw.讀取的文件名);
                    InputStreamReader isr = new InputStreamReader(is,"utf-8");
                    BufferedReader bf = new BufferedReader(isr);
                    String string="";
                    while ((string = bf.readLine()) != null) {
                        System.out.println(string);
                    }

寫入外部存儲文件

//獲取SD卡根路徑
                File sdPath = Environment.getExternalStorageDirectory();
                File file = new File(sdPath, "我的文件.txt");
                //如果不存在SD卡,則不寫入
                if(!sdPath.exists()){
                    Toast.makeText(MainActivity.this, "無SD卡", Toast.LENGTH_SHORT).show();
                }else{
                    try {
                        //如果文件夾不存在則創建
                        if(!file.exists()){
                            file.createNewFile();
                            FileOutputStream fos = new FileOutputStream(file);
                            OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");
                            osw.write("我是內容");
                            osw.flush();
                            fos.flush();
                            osw.close();
                            fos.close();
                            Toast.makeText(MainActivity.this, "已創建", Toast.LENGTH_SHORT).show();
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

讀取外部存儲文件

//獲取SD卡根路徑
                File sdPath = Environment.getExternalStorageDirectory();
                File file = new File(sdPath, "我的文件.txt");
                try {
                    //如果文件存在則讀取
                    if(file.exists()){
                        FileInputStream fis = new FileInputStream(file);
                        InputStreamReader isr = new InputStreamReader(fis, "utf-8");
                        char[] buf = new char[fis.available()];
                        isr.read(buf);
                        isr.close();
                        fis.close();
                        String string = new String(buf);
                        Toast.makeText(MainActivity.this, string, Toast.LENGTH_SHORT).show();
                    }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章