-1

我的应用程序可以收集一些数据,我只想将这些数据输出到 SD 卡中的 txt 文件中。

出于某种原因,以下代码适用于 Galaxy,但不适用于 Nexus。我猜代码有问题。

//name of the file
        String name = "rawData " + year +
                "-" + month + "-" + date + "- " + hour + ":" + minute+ ".txt";

        // create a folder stores all the txt file.
        File root = new File(Environment.getExternalStorageDirectory(), "rawData");
        if (!root.exists()) {
            root.mkdirs();
        }

        // creates a file and a file writer
        File gpxfile = new File(root, name);
        FileWriter writer = null;
        try {
            writer = new FileWriter(gpxfile);
            Log.d(TAG, "The writer is created");
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        Log.d(TAG, "Is the writer null? " + writer);

这是日志猫

非常感谢!

4

2 回答 2

1

change this

File root = new File(Environment.getExternalStorageDirectory(), "rawData");

to File root = Environment.getExternalStorageDirectory();

于 2013-02-02T20:10:38.133 回答
1

外部存储通常是 fat32 文件系统,它不允许:文件名中包含字符。
顺便说一句,您不需要在使用mkdirs().

于 2013-02-02T20:12:44.083 回答