android初学
写了个简单的file与io程序想在内置存储卡中创建一个简单的文件。
但他总是爆出
error opening trace file: No such file or directory (2)
java.io.FileNotFoundException: /data/messageself.txt: open failed: EACCES (Permission denied)
这样的错误。。
于是我就想是不是文件夹不存在 就手动的在手机上创建了个data文件夹。可是问题没改变依然爆出这样的错误。。。
上代码::
package com.example.combat_12_15_createfileinlocal;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
private String LocalPath;
private String filename = "messageself.txt";
private static final String ACTIVITY_TAG="LogDemo";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(MainActivity.ACTIVITY_TAG, "This is Information1");
LocalPath = Environment.getDataDirectory() + File.separator;
System.out.println(LocalPath);
File file = new File(LocalPath + filename);
try {
Log.i(MainActivity.ACTIVITY_TAG, "This is Information2");
if(!file.exists())
{
Log.i(MainActivity.ACTIVITY_TAG, "This is Information3");
file.createNewFile();
Log.i(MainActivity.ACTIVITY_TAG, "This is Information4");
}else{
System.out.println("NO exists");
return;
}
} catch (IOException e) {
e.printStackTrace();
}
try {
FileWriter fos = new FileWriter(file);
BufferedWriter bos = new BufferedWriter(fos);
bos.write("Test");
} catch (IOException e) {
e.printStackTrace();
}
}
}
之后我在网上谷歌了一段代码说是可以在内置存储卡中创建文件。。但是我创建了之后却找不到这个文件在哪里,,
FileOutputStream fos=context.openFileOutput(filename, Context.MODE_PRIVATE);用的这个方法创建的文件。。谷歌了下说在/data/data/中和apk同一路径。妈蛋我找了半天根本没这个文件夹。。。其实我也很好奇我的apk到底安装在哪里了。