-1

目前这是我的代码:

    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 30 那么屏幕上的结果是 70?我还没有真正找到这样的东西:/

4

3 回答 3

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();
  }
于 2012-11-22T05:19:43.960 回答
1
String path=Environment.getExternalStorageDirectory()+"/dirpath";
File myDirectory = new File(path);
    if(!myDirectory.isDirectory()){
        myDirectory.mkdirs();
        }
于 2012-11-22T05:19:59.817 回答
1

您可以通过调用exists()方法进行检查,dir/file或者您也可以选择特别喜欢isDirectory()isFile()

File dir = new File (root.getAbsolutePath() + "/download");
if(!dir.exists())
        dir.mkdirs();

or 

if(!dir.isDirectory())
        dir.mkdirs();

同样的方式你也可以为文件做

于 2012-11-22T05:21:29.837 回答