/**
* <p>Title: 目錄操作</p>
* <p>Description: 演示列目錄下的文件,和移動一個目錄</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: Dir.java</p>
* @version 1.0
*/
import java.io.*;
public class Dir{
/**
*<br>方法說明:實現目錄列表
*<br>輸入參數:
*<br>返回類型:
*/
public String[] DirList(String pathName){
try{
File path = null;
String[] fileList;
//如果沒有指定目錄,則列出當前目錄。
if(pathName.equals(""))
path = new File(".");
else
path = new File(pathName);
//獲取目錄文件列表
if(path.isDirectory())
fileList = path.list();
else
return null;
return fileList;
}catch(Exception e){
System.err.println(e);
return null;
}
}
/**
*<br>方法說明:移動一個目錄
*<br>輸入參數:String sou 源目錄, String obj 新目錄
*<br>返回類型:
*/
public boolean DirMove(String sou, String obj){
try{
//檢查源文件是否存在
boolean sexists = (new File(sou)).isDirectory();
if(!sexists) return false;
boolean oexists = (new File(obj)).isDirectory();
//目標目錄不存在,建立一個
if(!oexists){
(new File(obj)).mkdirs();
}
File file = new File(sou);
File dir = new File(obj);
//移動目錄
boolean success = file.renameTo(new File(dir, file.getName()));
if (!success) {
System.out.println("copy error!");
return false;
}
else return true;
}catch(Exception e){
System.out.println(e);
return false;
}
}
/**
*<br>方法說明:主方法
*<br>輸入參數:
*<br>返回類型:
*/
public static void main(String[] args){
Dir d = new Dir();
if(args.length==0){
return;
}else{
String cmd = args[0];
if(cmd.equals("list")){
if(args.length!=2) return;
String[] sTemp = d.DirList(args[1]);
for(int i=0;i<sTemp.length;i++)
System.out.println(sTemp[i]);
}else if(cmd.equals("move")){
if(args.length!=3) return;
d.DirMove(args[1],args[2]);
}
}
}
}