目前这是我的代码:
private void writeToSDFile(){
File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File (root.getAbsolutePath() + "/download");
dir.mkdirs();
File file = new File(dir, "myData.txt");
try {
FileOutputStream f = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(f);
pw.println(d8 + d7 + ":" + d6 + d5 + ":" + d4 + d3 + ":" + d2 + d1);
pw.flush();
pw.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.i(TAG, "******* File not found. Did you" +
" add a WRITE_EXTERNAL_STORAGE permission to the manifest?");
} catch (IOException e) {
e.printStackTrace();
}
}
基本上,我想知道是否有一种方法(可能通过使用if语句)只创建文件/目录(如果它们不存在)。目前,每次调用writetoSDCard()时都会重新创建它们。
我想要做的就是继续将数据附加到文件的末尾。仅供参考,它的存储方式如下:00:00:00:00
谢谢:)
此外,虽然我在这里,只是一个简单的问题,程序有没有办法说,从txt文档中读取2位数字列表,然后将它们一起添加?例如 20 20 三十 那么屏幕上的结果是70?我还没有找到这样的东西:/
答案 0 :(得分:3)
试试这个
String FOLDERNAME="/download";
File dir = new File(Environment.getExternalStorageDirectory(), FOLDERNAME);
if(!dir.exists())
{
dir.mkdir();
}
复制并过去
private void writeToSDFile(){
String FOLDERNAME="/download";
File dir = new File(Environment.getExternalStorageDirectory(), FOLDERNAME);
if(!dir.exists())
{
dir.mkdir();
}
File file = new File(dir, "myData.txt");
try {
FileOutputStream f = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(f);
pw.println(d8 + d7 + ":" + d6 + d5 + ":" + d4 + d3 + ":" + d2 + d1);
pw.flush();
pw.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.i(TAG, "******* File not found. Did you" +
" add a WRITE_EXTERNAL_STORAGE permission to the manifest?");
} catch (IOException e) {
e.printStackTrace();
}
}
<强> //////////////////////////////////////////// ///////////////////////// 编辑 对于文件
File f;
f=new File(dir, "myData.txt");
if(!f.exists())
{
f.createNewFile();
}
答案 1 :(得分:1)
String path=Environment.getExternalStorageDirectory()+"/dirpath";
File myDirectory = new File(path);
if(!myDirectory.isDirectory()){
myDirectory.mkdirs();
}
答案 2 :(得分:1)
您可以通过调用exists()
的{{1}}方法进行检查,或者也可以选择dir/file
或isDirectory()
。
isFile()
你也可以为文件做同样的事情