通过文件的方式保存内容
来源:互联网 发布:vue.js怎么用 编辑:程序博客网 时间:2024/05/16 13:54
在android系统中,存储器一般分为外存储器(sdcard)和内存储器,一般内存器是手机自带的,内存储器和外存器的区别如下:
内存储器总是可用的,安装默认也是安装在这里,内容只能被自己的应用读取。
外存储器正好相反。
读写存储器的许可:
<manifest ...> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...</manifest>
<manifest ...> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ...</manifest>保存内容在内存储器中:
getFilesDir():得到文件目录
getCacheDir():得到缓存目录
创建一个新文件:
File file = new File(context.getFilesDir(), filename);或String filename = "myfile";String string = "Hello world!";FileOutputStream outputStream;try { outputStream = openFileOutput(filename, Context.MODE_PRIVATE); outputStream.write(string.getBytes()); outputStream.close();} catch (Exception e) { e.printStackTrace();}下一个方法示例是从URL中得到一个文件名,并在缓存中创建它;public File getTempFile(Context context, String url) { File file; try { String fileName = Uri.parse(url).getLastPathSegment(); file = File.createTempFile(fileName, null, context.getCacheDir()); catch (IOException e) { // Error while creating file } return file;}在外部的存储器中读写文件/* 检查在外存器是否是可用的 */public boolean isExternalStorageWritable() { String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) { return true; } return false;}/* Checks if external storage is available to at least read */public boolean isExternalStorageReadable() { String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { return true; } return false;}在外部存储器中分为两类文件:
私有文件和公共文件,以下的例子是它们的区别public File getAlbumStorageDir(String albumName) { // Get the directory for the user's public pictures directory. File file = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs()) { Log.e(LOG_TAG, "Directory not created"); } return file;}public File getAlbumStorageDir(Context context, String albumName) { // Get the directory for the app's private pictures directory. File file = new File(context.getExternalFilesDir( Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs()) { Log.e(LOG_TAG, "Directory not created"); } return file;}查询文件的空间通过getFreeSpace()
orgetTotalSpace()
.
对于扩展卡可以通过:
getExtSDCardPath();方法取得路径。删除文件通过myFile.delete();当应用删除时,所有在内存储器上的和在外存储器上的内容都会被删除。
0 0
- 通过文件的方式保存内容
- 接收一个文件内容,通过读取开始和结束标志,分别将其内容保存到不同的文件中
- C++map容器里的所有内容以二进制方式保存与读取到文件
- 保存变量的内容到文件
- 通过http/https的POST方式,发送和接受XML文件内容
- 通过http/https的POST方式,发送、处理和接收XML文件内容
- IOS四种保存文件的方式
- 没有SD卡保存文件的方式
- 两种保存位图文件的方式
- IOS四种保存文件的方式
- IOS四种保存文件的方式
- IOS四种保存文件的方式
- 能够通过保存副本的方式复制族表吗?
- aws 的dynamodb 通过case class方式保存
- 通过脚本的方式杀tomcat进程(shell脚本),shell中将一个文件的内容读出赋值给一个变量
- 读取文件内容的一般方式
- 文件内容读写的几种方式
- PC通过ADB命令获取Android制定文件内容并保存在本地
- 制作PHP安装程序的原理和步骤
- 报错:1130-host ... is not allowed to connect to this MySql server
- 对泛型的理解
- ccoa 删除proc
- Handler的跨进程使用--Messenger学习
- 通过文件的方式保存内容
- android 接收与发送超长短信说明
- 自定义view之热门标签
- IE9BUG!默认不支持console.log
- H5页面属性和元素
- JAVA设计模式之:适配器模式
- JDK DualPivotQuicksort 源码解析
- ios UICollectionView实现不同大小cell等间距
- SMAB(Simple Money Account Book)纸黄金记账软件