FileOutputStream不执行任何操作

FileOutputStream不执行任何操作

我有这种方法可以将一些记录的数据写入我的SD卡。但是,它甚至不创建文件。

 public void writeToFile(LinkedList<double[]> data, String name) throws IOException {
    String dataS = "";
    dataS += "x;y;z;size\n";
    for (int i = 0; i < data.size() - 1; i++) {
        dataS += data.get(i)[0] + ";" + data.get(i)[1] + ";" + data.get(i)[2] + ";" + data.get(i)[3] + "\n";
    }

    try {
        String filename = name + ".csv";

        File myFile = new File(Environment
                .getExternalStorageDirectory(), filename);

        if (!myFile.exists()) {
            myFile.createNewFile();
        }

        FileOutputStream fos;

        System.out.println(myFile.getAbsolutePath());
        byte[] dataByte = dataS.getBytes();
        try {
            fos = new FileOutputStream(myFile);
            fos.write(dataByte);
            fos.flush();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    } catch (IOException e) {
        e.printStackTrace();
    }
}


我在Manifest.xml中添加了正确的权限:

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

最佳答案

像这样在根目录中创建文件。

File myFile = new File(Environment.getExternalStorageDirectory()+"/"+filename);


删除此代码

if (!myFile.exists()) {
   myFile.createNewFile();
}

关于android - FileOutputStream不执行任何操作(Android Studio),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41223737/

10-09 16:00