下面的代碼未執行。我把它叫做NameManager.main(fsitem);
來自我的班級。甚至沒有調試顯示在堆棧跟蹤中,它不會創建該文件。我究竟做錯了什麼?Java代碼不執行
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)%[email protected]");
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)));
}
}
...
}
我根本不熟悉Android,但是因爲它是從Java派生的,所以有一個問題:您確定允許使用'main'方法的這種簽名嗎? – 2012-02-24 11:05:53
fsitem有空嗎?在循環之前添加一些記錄*以顯示大小... – 2012-02-24 11:06:00
它不是空的。代碼編譯,簽名必須允許? – 2012-02-24 11:12:07