?? maildirmake.java
字號:
package fengyun.Fastmail.util; import java.io.*; /**
* 構件Maildir的目錄結構
* @author fengyun
* @version 1.00
*/ public class MaildirMake { public static final int HOMEDIR_EXISTS = 100; public static final int MAILDIR_EXISTS = 101; public static final int CHANGEMOD_ERROR = -1; public static final int CREATE_ERROR = -2; public static final int OK = 0; /** * 建用戶目錄 * @param home 用戶目錄 * @param owner 目錄所有者 * @return int 返回消息 */ public static int makehome(String home,String owner) { File homedir=new File(home); if (homedir.exists()) return HOMEDIR_EXISTS; else { homedir.mkdirs(); if (owner==null || "".equals(owner)) owner="virtual"; try { Runtime chg=Runtime.getRuntime(); chg.exec("/bin/chown -R "+owner+". "+homedir.getAbsolutePath()); chg.exec("/bin/chmod -R 711 " + homedir.getAbsolutePath()); } catch(IOException ioe) { ioe.printStackTrace();
return CHANGEMOD_ERROR; } return OK; } } /**
* 建立用戶Maildir
* @param dirname Maildir
* @param owner 所有者
* @return int 消息
*/
public static int make(String dirname,String owner) { File maildir=new File(dirname); if (maildir.exists()) return MAILDIR_EXISTS; else { if (maildir.getParent()!=null) { File homedir=new File(maildir.getParent()); if (!homedir.exists()) {
makehome(homedir.getAbsolutePath(),owner);
} } maildir.mkdirs(); String subdir[]={"","rev","tmp","src","snt","dsb"}; for(int i=1;i<subdir.length;i++) { File fsubdir=new File(maildir,subdir[i]); if(!fsubdir.mkdir()) return CREATE_ERROR; } try { if (owner=="") owner="virtual";
String chown="/bin/chown "+owner+". "+maildir.getAbsolutePath(); String chmod="/bin/chmod 0700 "+maildir.getAbsolutePath();
Runtime chg=Runtime.getRuntime(); for(int i=0;i<subdir.length;i++) { chg.exec(chown+"/"+subdir[i]);
chg.exec(chmod+"/"+subdir[i]);
}
}
catch(IOException ioe) {
ioe.printStackTrace(); return MaildirMake.CHANGEMOD_ERROR;
}
return OK;
}
} /**
* 建立Maildir(默認所有者)
* @param dirname Maildir
* @return int 消息
*/
public static int make(String dirname) {
return(make(dirname,"")); } /**
* 應用程序
* @param args[0] Maildir
* @param args[1] Owner
*/ public static void main(String args[]) { if (args.length<1) { System.err.println("Usage:java maildirmake MAILDIR\nCommand: java maildirmake Maildir Owner");
System.exit(-1);
}
int status = OK; if (args.length==1) {
status = make(args[0]);
} else {
status = make(args[0],args[1]);
} String message = "";
switch(status) { case OK: { message = "Sucess Create Directory"; break; } case CHANGEMOD_ERROR : {
message = "Change Module Error or Change Owner Error";
break; } case CREATE_ERROR: { message = "Can't create the Directory"; break; } case HOMEDIR_EXISTS : {
message = "Home Directory is exists";
break; } case MAILDIR_EXISTS : {
message = "Maildir is exists";
break; }
}
System.out.println(message); } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -