本文實例為大家分享了Android讀寫文件工具類的具體代碼,供大家參考,具體內容如下
創新互聯-專業網站定制、快速模板網站建設、高性價比柳江網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式柳江網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋柳江地區。費用合理售后完善,十余年實體公司更值得信賴。
public class Utils { private static String path2 = Environment.getExternalStorageDirectory().getAbsolutePath(); private static String path3 = Environment.getDownloadCacheDirectory().getAbsolutePath(); private static String pathExt = "/111/222/333/444/555/"; private static String fileName = "6.txt"; public static void write(String str) { String filePath = null; boolean hasSDCard =Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); if (hasSDCard) { filePath = path2 + pathExt + fileName; } else { filePath = path3 + pathExt + fileName; } try { File file = new File(filePath); if (!file.exists()) { //mkdirs()方法生成多層文件夾 //mkdir()方法生成一層層文件夾 // File dir = new File(file.getParent()); // dir.mkdirs(); file.getParentFile().mkdirs();//生成文件外層的文件夾 file.createNewFile();//生成文件 } FileOutputStream os = new FileOutputStream(file); os.write(str.getBytes()); os.close(); } catch (Exception e) { e.printStackTrace(); } } public static String read() { String content = ""; String filePath; boolean sdcard = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); if (sdcard) { filePath = path2 + pathExt + fileName; } else { filePath = path3 + pathExt + fileName; } try { File file = new File(filePath); if (file.exists()) { FileInputStream is = new FileInputStream(file); InputStreamReader inputReader = new InputStreamReader(is);//設置流讀取方式 BufferedReader buffReader = new BufferedReader(inputReader); String line; try { while (null != (line = buffReader.readLine())) { content += line + "\n";//讀取的文件容 } is.close();//關閉輸入流 } catch (IOException e) { e.printStackTrace(); } finally { try { if (null != is) { is.close(); } } catch (IOException e) { e.printStackTrace(); } } } } catch (FileNotFoundException e) { e.printStackTrace(); } return content; } }
1. 清單文件中添加讀寫權限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2.Android6.0以上版本要動態申請讀寫權限
ArrayList<String> permissionList = new ArrayList<>(); private String[] permissions = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" }; //檢測是否有寫的權限 //判斷手機版本,如果低于6.0 則不用申請權限,直接拍照 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (checkSelfPermission(permissions[0]) != PackageManager.PERMISSION_GRANTED) { permissionList.add(permissions[0]); } if (checkSelfPermission(permissions[1]) != PackageManager.PERMISSION_GRANTED) { permissionList.add(permissions[1]); } if (!permissionList.isEmpty()) { String[] permissions1 = permissionList.toArray(new String[permissionList.size()]); requestPermissions(permissions1, 1); } else { Utils.write("balabala"); Utils.read(); } } else { Utils.write("balabala"); Utils.read(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case 1: if (PackageManager.PERMISSION_GRANTED == grantResults[0]){ Utils.write("balabala"); Utils.read(); } else { Log.d(TAG, "fail: "); } break; } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。
新聞標題:Android讀寫文件工具類詳解
網站路徑:http://vcdvsql.cn/article34/poddse.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、標簽優化、自適應網站、定制開發、網站改版、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯