我正在尝试开发一个程序,该程序在特定目录(.txt文件)中创建文件并在其中存储一些数据(例如字符串)。我还希望用户可以访问该文件(如果我转到文件浏览器,我可以查看我创建的文件,也可以使用其他程序或其他内容编辑它。)
我尝试了很多东西,但我无法解决这个问题。
以下是我使用atm的代码:
public void createFile(View view) throws IOException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd");
Date now = new Date();
String fileName = formatter.format(now) + ".txt";
String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Sonda Drive Test";
File mypath = new File(filepath);
if(!mypath.exists()) {
mypath.mkdir();
}
//now the mkdir returns true isntead of false
File myfile = new File(mypath, fileName);
try{
if(!myfile.exists()){
txtDebug.setText("Não existe ficheiro!");
myfile.createNewFile();
}
else{
txtDebug.setText("Já existe ficheiro!");
}
}catch (Exception e){
txtDebug.setText("Erro!");
}
}
我还添加了以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
问题在于我做的时候
myfile.createNewFile();
应用程序停止并关闭..但如果我评论该行,它也不会创建任何文件......
我做错了什么?
编辑:我管理为API 22做这项工作。我怎样才能为API 25做这件事?
答案 0 :(得分:0)
您将mypath作为路径,但您将mypath定义为文件