(java)for循环让一个字符串数组得到一个文件夹下所有文件名却报空指针错误
代码是:String[]absoluteFilePath=null;try{Filefile=newFile(filePath);if(file.isDirectory(...
代码是:
String[] absoluteFilePath = null;
try {
File file = new File(filePath);
if( file.isDirectory()) {
System.out.println("文件夹");
String[] fileList = file.list();
for (int i = 0; i < fileList.length; i++) {
File fullFile = new File(filePath + "\\" + fileList[i]);
absoluteFilePath[i] = fullFile.getAbsolutePath();
System.out.println("absoluteFilePath=" + absoluteFilePath[i]);
}
}
}
然后会在 absoluteFilePath[i] = fullFile.getAbsolutePath(); 这一行报java.lang.NullPointerException 展开
String[] absoluteFilePath = null;
try {
File file = new File(filePath);
if( file.isDirectory()) {
System.out.println("文件夹");
String[] fileList = file.list();
for (int i = 0; i < fileList.length; i++) {
File fullFile = new File(filePath + "\\" + fileList[i]);
absoluteFilePath[i] = fullFile.getAbsolutePath();
System.out.println("absoluteFilePath=" + absoluteFilePath[i]);
}
}
}
然后会在 absoluteFilePath[i] = fullFile.getAbsolutePath(); 这一行报java.lang.NullPointerException 展开
展开全部
你先实例化absoluteFilePath这个数组长度为文件夹的个数。然后你这个文件夹路径也错了,你没有转换路径符号,这样的路径是错误的。这样转换:
String s=filelist[i];
s = s.replaceAll(System.getProperty("path.separator"),"//");
要这样转换。
String s=filelist[i];
s = s.replaceAll(System.getProperty("path.separator"),"//");
要这样转换。
追问
是先实例化为文件夹的个数还是文件的个数啊?
如果是文件的个数的话,我是在遍历的时候才获得的呀 因为absoluteFilePath是我要返回的参数 所有定义为这个方法的全局变量。。
追答
文件夹的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询