public class HelloWorld {
public static void main(String[] args) throws IOException {
File[] files = File.listRoots();
for (File file :
files) {
showDirAndFile(file);
}
}
public static void showDirAndFile(File f){
File[] files = f.listFiles();
for (File temp_f : files) {
boolean file = temp_f.isFile();
if (file){
System.out.print(temp_f.getName()+' ');
}else{
showDirAndFile(temp_f);
}
}
System.out.println(f.getName());
}
}
public static void main(String[] args) {
File[] files = File.listRoots();
for (File file :
files) {
showDirAndFile(file);
}
}
public static void showDirAndFile(File f){
File[] files = f.listFiles();
if(files!=null){ //这里加个判断
for (File temp_f : files) {
boolean file = temp_f.isFile();
if (file){
System.out.print(temp_f.getName()+' ');
}else{
showDirAndFile(temp_f);
}
}
System.out.println(f.getName());
}
}
这个文本编辑器格式有点恶心啊
@南宫懿痕: 你可以这样编辑:
public static void main(String[] args) {
File[] files = File.listRoots();
for (File file : files) {
showDirAndFile(file);
}
}
public static void showDirAndFile(File f){
File[] files = f.listFiles();
if(files!=null){ //这里加个判断
for (File temp_f : files) {
boolean file = temp_f.isFile();
if (file){
System.out.print(temp_f.getName()+' ');
}else{
showDirAndFile(temp_f);
}
}
System.out.println(f.getName());
}
@会长: 健壮性可以实际项目中可以,实际上我这边可以得到files的对象。不知道怎么还是会有空指针。
出现空指针是因为文件目录的访问都是有权限控制的,你当前登录的用户对于文件目录权限不足,所以读取的listFiles是null的,才会出现空指针异常,例如我用的windows,就读取不到C:$Recycle.Bin\S-1-5-18这个目录下的东西