下面的代码未执行。我把它叫做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