Reputation: 2809
The following code is giving me an error and I'm not sure why?
I'm guessing there is a problem with my fileDir
.
public void exportToCSV() throws IOException {
new Thread() {
public void run() {
if (csvThreadRunning) {
while (!Thread.currentThread().isInterrupted()) {
try {
File fileDir = new File(Environment
.getExternalStorageDirectory()
.getAbsolutePath()
+ File.separator + "MyDir");
if (!fileDir.exists()) {
try {
fileDir.mkdir();
} catch (Exception e) {
e.printStackTrace();
}
}
File file = new File(Environment
.getExternalStorageDirectory()
.getAbsolutePath()
+ File.separator
+ "BlogData"
+ File.separator + "MyText.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
if (file.exists()) {
try {
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bfWriter = new BufferedWriter(
fileWriter);
bfWriter.write(String.valueOf(globalData
.getLatestGraphData1()) + "pin39");
bfWriter.write(",");
bfWriter.write(String.valueOf(globalData
.getLatestGraphData2()) + "pin40");
bfWriter.write(",");
bfWriter.write(String.valueOf(globalData
.getLatestGraphData3()) + "pin41");
bfWriter.write(",");
bfWriter.write(String.valueOf(globalData
.getLatestGraphData4()) + "pin42");
bfWriter.write(",");
bfWriter.write(String.valueOf(globalData
.getLatestGraphData5()) + "pin43");
bfWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Thread.sleep(1000);
} catch (Exception e) {
}
}
}
}
}.start();
}
Here is the error output by logcat:
java.io.IOException: open failed: ENOENT (No such file or directory)
at java.io.File.createNewFile(Fil.java:940)
at ioio.examples.hello.MainActivity$3.run(MainActivity.java:155)
Caused by: libcore.io.ErrnoException: open fialed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
at java.io.File.createNewFile(File.java:933)
line 155 refers to this code:
file.createNewFile();
Upvotes: 0
Views: 1069
Reputation: 93559
The directory you're writing to doesn't exist, because the folder BlogData doesn't exist. Create that first.
new File(Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator + "BlogData").mkdirs();
Upvotes: 2