import java.io.*;
public class Folder {
private File dir;
public Folder(){
}
public void showCurrentDirectory(){
dir=new File(".");
File fileName[]=dir.listFiles();
for(File f:fileName){
System.out.println(f.getName());
if(f.isDirectory()){
String newPath=".\\"+f.getName();
showDesignateDirectory(newPath);
}
}
}
public void showDesignateDirectory(String path){
dir=new File(path);
File fileName[]=dir.listFiles();
for(File f:fileName){
System.out.println(f.getName());
if(f.isDirectory()){
String newPath=path+"\\"+f.getName();
showDesignateDirectory(newPath);
}
}
}
public void addDirectory(String directoryName){
String path=".//"+directoryName;
File newDirectory =new File(path);
newDirectory.mkdir();
showCurrentDirectory();
}
public void removeDirectory(String directoryName){
String path=".//"+directoryName;
File newDirectory =new File(path);
newDirectory.delete();
showCurrentDirectory();
}
public static void main(String[] args){
Folder f=new Folder();
if(args==null){
f.showCurrentDirectory();
}else if(args[0].equals("add")){
f.addDirectory(args[1]);
}else if(args[0].equals("del")){
f.removeDirectory(args[1]);
}else{
f.showDesignateDirectory(args[0]);
}
}
}
运行时如果不传参数就要出错了,就是不能判断是否在运行时是不是传进了参数,请问如果我要是想判断运行时是否传入了参数还有别的什么方法吗(if(args!=null这个不行))?
错误如下:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Folder.main(Folder.java:48)
public class Folder {
private File dir;
public Folder(){
}
public void showCurrentDirectory(){
dir=new File(".");
File fileName[]=dir.listFiles();
for(File f:fileName){
System.out.println(f.getName());
if(f.isDirectory()){
String newPath=".\\"+f.getName();
showDesignateDirectory(newPath);
}
}
}
public void showDesignateDirectory(String path){
dir=new File(path);
File fileName[]=dir.listFiles();
for(File f:fileName){
System.out.println(f.getName());
if(f.isDirectory()){
String newPath=path+"\\"+f.getName();
showDesignateDirectory(newPath);
}
}
}
public void addDirectory(String directoryName){
String path=".//"+directoryName;
File newDirectory =new File(path);
newDirectory.mkdir();
showCurrentDirectory();
}
public void removeDirectory(String directoryName){
String path=".//"+directoryName;
File newDirectory =new File(path);
newDirectory.delete();
showCurrentDirectory();
}
public static void main(String[] args){
Folder f=new Folder();
if(args==null){
f.showCurrentDirectory();
}else if(args[0].equals("add")){
f.addDirectory(args[1]);
}else if(args[0].equals("del")){
f.removeDirectory(args[1]);
}else{
f.showDesignateDirectory(args[0]);
}
}
}
运行时如果不传参数就要出错了,就是不能判断是否在运行时是不是传进了参数,请问如果我要是想判断运行时是否传入了参数还有别的什么方法吗(if(args!=null这个不行))?
错误如下:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Folder.main(Folder.java:48)
我想做的是根据传入的参数的个数自动判断处理!现得到启发,用args.length判断后再做判断就可以解决!