最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android讀寫文件工具類詳解

 更新時間:2020年03月16日 10:49:32   作者:lyl0530  
這篇文章主要為大家詳細(xì)介紹了Android讀寫文件工具類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Android讀寫文件工具類的具體代碼,供大家參考,具體內(nèi)容如下

public class Utils {
  private static String path1 = Environment.getExternalStorageDirectory().getAbsolutePath();
  private static String path2 = 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 = path1 + pathExt + fileName;
    } else {
      filePath = path2 + 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 = path1 + pathExt + fileName;
    } else {
      filePath = path2 + pathExt + fileName;
    }
    try {
      File file = new File(filePath);
      if (file.exists()) {
        FileInputStream is = new FileInputStream(file);
        InputStreamReader inputReader = new InputStreamReader(is);//設(shè)置流讀取方式
        BufferedReader buffReader = new BufferedReader(inputReader);
        String line;
        try {
          while (null != (line = buffReader.readLine())) {
            content += line + "\n";//讀取的文件容
          }
          is.close();//關(guān)閉輸入流
        } 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. 清單文件中添加讀寫權(quán)限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

2.Android6.0以上版本要動態(tài)申請讀寫權(quán)限

ArrayList<String> permissionList = new ArrayList<>();
private String[] permissions = {
 "android.permission.READ_EXTERNAL_STORAGE",
 "android.permission.WRITE_EXTERNAL_STORAGE" };
//檢測是否有寫的權(quán)限
//判斷手機(jī)版本,如果低于6.0 則不用申請權(quán)限,直接拍照
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;
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android自定義控件實(shí)現(xiàn)不規(guī)則區(qū)域點(diǎn)擊事件

    Android自定義控件實(shí)現(xiàn)不規(guī)則區(qū)域點(diǎn)擊事件

    這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)不規(guī)則區(qū)域點(diǎn)擊事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 詳解Android中處理崩潰異常

    詳解Android中處理崩潰異常

    這篇文章主要介紹了Android中處理崩潰異常的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Flutter 移動程序安全性提高的八個建議

    Flutter 移動程序安全性提高的八個建議

    這篇文章主要為大家介紹了Flutter 移動程序安全性提高建議詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Android多媒體之VideoView視頻播放器

    Android多媒體之VideoView視頻播放器

    這篇文章主要為大家詳細(xì)介紹了Android多媒體之VideoView視頻播放器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Flutter渲染原理深入解析

    Flutter渲染原理深入解析

    眾所周知?Flutter是由Google推出的開源的高性能跨平臺框架,一個2D渲染引擎。在Flutter中,Widget是Flutter用戶界面的基本構(gòu)成單元,可以說一切皆Widget。下面來看下Flutter框架的整體結(jié)構(gòu)組成
    2023-04-04
  • Android Service自啟動注意事項(xiàng)分析

    Android Service自啟動注意事項(xiàng)分析

    這篇文章主要介紹了Android Service自啟動注意事項(xiàng),結(jié)合實(shí)例分析了Android Service自啟動過程中屬性設(shè)置的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • Android使用ViewFlipper實(shí)現(xiàn)上下滾動消息

    Android使用ViewFlipper實(shí)現(xiàn)上下滾動消息

    這篇文章主要為大家詳細(xì)介紹了Android使用ViewFlipper實(shí)現(xiàn)上下滾動消息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Kotlin遍歷集合導(dǎo)致并發(fā)修改異常的原因和解決方法

    Kotlin遍歷集合導(dǎo)致并發(fā)修改異常的原因和解決方法

    這篇文章主要介紹了Kotlin遍歷集合導(dǎo)致并發(fā)修改異常的原因和解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • flutter PageView實(shí)現(xiàn)左右滑動切換視圖

    flutter PageView實(shí)現(xiàn)左右滑動切換視圖

    這篇文章主要為大家詳細(xì)介紹了flutter PageView實(shí)現(xiàn)左右滑動切換視圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android訪問php取回json數(shù)據(jù)實(shí)例

    Android訪問php取回json數(shù)據(jù)實(shí)例

    Android訪問php取回json數(shù)據(jù),實(shí)現(xiàn)代碼如下,遇到訪問網(wǎng)絡(luò)的權(quán)限不足在AndroidManifest.xml中,需要進(jìn)行如下配置
    2013-06-06

最新評論

霍邱县| 沅陵县| 梁平县| 军事| 富平县| 阳春市| 昭苏县| 克东县| 铜梁县| 承德市| 土默特左旗| 繁昌县| 贵港市| 和政县| 镇巴县| 松桃| 阿荣旗| 兴安盟| 大兴区| 米脂县| 沙河市| 苗栗县| 梁河县| 巫溪县| 彩票| 赤壁市| 丰县| 林西县| 阜康市| 宾阳县| 靖安县| 邮箱| 修文县| 淮北市| 余江县| 绥中县| 通海县| 于都县| 横峰县| 祁门县| 华池县|