时间:2021-05-20
本文实例为大家分享了Android读写文件工具类的具体代码,供大家参考,具体内容如下
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);//设置流读取方式 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();} @Overridepublic 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; }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Android日志文件的读写工具类,供大家参考,具体内容如下1.UI效果例如我们需要采集温度信息,可以不断写入一行一行的txt文本,读写文件
C#FileStream类在C#语言中文件读写流使用FileStream类来表示,FileStream类主要用于文件的读写,不仅能读写普通的文本文件,还可以读取
Android捕获运行时异常详解Android异常分为两类:CheckedException和UnCheckedExceptionCheckException:
复制代码代码如下://////读写INI文件的类。///publicclassINIHelper{//读写INI文件相关。[DllImport("kernel3
Java中文件的随机读写Java.io包提供了RandomAccessFile类用于随机文件的创建和访问。使用这个类,可以跳转到文件的任意位置读写数据。程序可以