我有这种方法可以将一些记录的数据写入我的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/