FileOutputStream不做任何事情(Android Studio)
我有这种方法将一些记录的数据写入sd卡。但是,它甚至不创建文件FileOutputStream不做任何事情(Android Studio),android,file,Android,File,我有这种方法将一些记录的数据写入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.g
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();
}
}
public void writeToFile(LinkedList数据、字符串名称)引发IOException{
字符串数据=”;
数据+=“x;y;z;大小\n”;
对于(int i=0;i
我已在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();
}
您正在捕获一个异常并执行
e.printStackTrace
-是否检查是否发生了这种情况?logcat中有任何内容吗?我有,没有打印任何异常。我的建议是:在代码中放置一个断点并逐步执行System.out.println(myFile.getAbsolutePath())的输出是什么
?/storage/emulated/0/com.mbientlab.metawear.MetaWearBleService$DefaultMetaWearBoardAndroidImpl@3935adca.csvStill没有创建文件。我认为这不会有帮助,文件名com.mbientlab.metawear.MetaWearBleServic中存在问题e$brdAndroidImpl@3935adca.csv
不合法,一旦初始化FileOutputStream
,就会抛出FileNotFoundException
。