The code below is not executing. I’m calling it as NameManager.main(fsitem); from my main class. Not even debug is showing up in stack trace and it does not create the file. What am I doing wrong?
public class NameManager {
...
public static void main(ArrayList<String> fsitem) {
for (int i = 0; i < fsitem.size(); i++) {
try {
File root = new File(Environment.getExternalStorageDirectory()
.getName() + "/" + fsitem.get(i));
if (root.canWrite()) {
if (!root.exists()) {
Log.d("NameManager.java",
(root.getName() + " exists and is writable."));
File namefile = new File(root, ".name");
FileWriter namewriter = new FileWriter(namefile);
BufferedWriter out = new BufferedWriter(namewriter);
out.write("image_"
+ (i++)
+ "%n(Autogenerated Name)%nroyale1223@gmail.com");
out.close();
} else {
Log.d("NameManager.java : ",
(root.getName() + " already exists."));
}
}
} catch (IOException e) {
Log.e("NameManager.java : ",("Error!! Not Writable!!"
+ Environment.getExternalStorageDirectory().getName()
+ "/" + fsitem.get(i)));
}
}
...
}
This piece of code checks wether root exists and can be written (.canWrite()), and does not exist (!.exists()). Both together is not possible, so nothing can happen.