android 中对文件的操作
来源:互联网 发布:谷嫂淘宝同款排除王下载 编辑:程序博客网 时间:2024/05/17 07:09
1. android中可操作的文件分为: internal storage, external storage;
对文件的操作:建立文件, 进行读写,关闭。
Context 中对于internal 中的文件操作的方法:
public class MainActivity extends Activity {
public static final String TAG = "MainActivity";
public static final boolean DEBUG = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SQLiteDatabase db = openOrCreateDatabase("Angelababy.db", Context.MODE_PRIVATE, null);
db.execSQL("drop table if exists beauty");
db.execSQL("create table beauty(_id integer primary key autoincrement, name varchar, age integer)");
db.close();
db = openOrCreateDatabase("dengchao.db", Context.MODE_PRIVATE, null);
db.close();
File databaseDir = getDatabasePath("Angelababy.db");
File fileDir = getFilesDir();
File cacheDir = getCacheDir();
File privateDir = getDir("angelababy", Context.MODE_PRIVATE);
String codePath = getPackageCodePath();
String resourcePath = getPackageResourcePath();
// 这个方法只是返回相应的路径,即使所指定的文件不存在(在files中)
File getFileStreamPath = getFileStreamPath("getFileStreamPath");
String[] databaseList = databaseList();
String[] fileList = fileList();
Log.i(TAG, "databaseList = "+Arrays.toString(databaseList));
Log.i(TAG, "fileList = "+Arrays.toString(fileList));
// 这两个方法,不报错即使所操作文件对象不存在
deleteDatabase("dengchao.db");
deleteFile("getFileStreamPath");
对于cahe中的文件的删除:可以先定位到这个file然后file.delete();
FileInputStream openFileInput = null;
FileOutputStream openFileOutput = null;
Log.i(TAG, "getFileStreamPath = "+getFileStreamPath);
try {
这两个方法是从files文件夹中得到输出输入流
openFileOutput(Sring name, int mode) 可以建立一个新文件(如果文件不存在,所以不知它为什么还有
FileNotFoundException)。
openFileOutput = openFileOutput("openFileOutpput", Context.MODE_PRIVATE);
openFileInput = openFileInput("openFileInput");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(openFileInput != null){
openFileInput.close();
}
if(openFileOutput != null){
openFileOutput.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Log.i(TAG, "databaseDir = "+databaseDir);
Log.i(TAG, "fileDir = "+fileDir);
Log.i(TAG, "cacheDir = "+cacheDir);
Log.i(TAG, "privateDir = "+privateDir);
Log.i(TAG, "codePath = "+codePath);
Log.i(TAG, "resourcePath = "+resourcePath);
Log.i(TAG, "getFileStreamPath = "+getFileStreamPath);
}
result:
databaseDir = /data/data/com.example.testfile/databases/Angelababy.db
fileDir = /data/data/com.example.testfile/files
cacheDir = /data/data/com.example.testfile/cache
privateDir = /data/data/com.example.testfile/app_angelababy
// 这是apk的路径。
codePath = /data/app/com.example.testfile-2.apk
resourcePath = /data/app/com.example.testfile-2.apk
getFileStreamPath = /data/data/com.example.testfile/files/getFileStreamPath
File file = new File(getCacheDir().getParentFile(), "weilai");
outputStream = new FileOutputStream(file);
outputStream.write("I love you".getBytes());
这可以在/data/data/(pakagename)/下建立文件。
1>File.createTempFile(String prefix, String suffix, File dir); File.createTempFile(String prefix, String suffix);
2>fileDir.createNewFile(String name File dir);
这两个方法没什么区别,只是1>默认创建的文件在C:\Documents and Settings\Administrator\Local Settings\Temp下。如果指定了dir那么就和createNewFile一样了。
public static File createTempFile(String prefix, String suffix, File directory)
throws IOException {
// Force a prefix null check first
if (prefix.length() < 3) {
throw new IllegalArgumentException("prefix must be at least 3 characters");
}
if (suffix == null) {
suffix = ".tmp";
}
File tmpDirFile = directory;
if (tmpDirFile == null) {
String tmpDir = System.getProperty("java.io.tmpdir", ".");
tmpDirFile = new File(tmpDir);
}
File result;
do {
result = new File(tmpDirFile, prefix + tempFileRandom.nextInt() + suffix);
} while (!result.createNewFile());
return result;
}
上面是 createTempFile的源码;
- android 中对文件的操作
- ANDROID对文件的操作
- ANDROID对文件的操作
- 在Android中对文件的读写操作
- Android文件管理器开发中对文件的复制,移动,删除,新建文件夹等的操作
- Android对文件的保存操作
- Android 对 properties文件的读写操作
- Android studio对 module文件的操作
- c#中对文件的操作小结
- Java中对文件的操作
- Java中对文件的操作
- Java中对文件的操作
- c#中对文件的操作小结
- Java中对文件的操作(转)
- Java中对文件的操作
- Java中对 [文件] 的操作示例
- Java 中对文件的读写操作
- Java中对文件的操作
- Android/Java面试题,边面试边成长,为了应试而应试
- Oracle 11g卸载
- POJ 2778 DNA Sequence AC自动机+矩阵快速幂
- webservice---restful webservice的介绍与测试工具
- 关于 威客,创客,极客,黑客的哲学理解(简单)
- android 中对文件的操作
- Bugzilla不能上传附件解决方法
- 一套完整IOS学习大纲
- oracle sql%rowcount 返回影响行数
- android 程序中像素跟单位dp(dip)之间的转换
- Actionbar中searchview
- 小马哥------高仿山寨小米1S刷机 机型拆机图与开机界面图。版本多 警惕中招
- Android(jave)中关于finalize必须要注意的几件事
- MFC串口调试助手线程监听事件小解