📄 inituser.java
字号:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Vector;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.StringTokenizer;
import java.security.MessageDigest;
// java initUser rm# uid password_text
public class initUser {
public static void main(String[] args) {
int i = 0;
Hashtable parms = readConf(args[0] + "/users/" + args[1] + ".conf");
try {
FileOutputStream outFile = new FileOutputStream(args[0] + "/users/" + args[1] + ".conf");
PrintStream out = new PrintStream(outFile);
out.println("// a user.conf file\n");
out.println("name = " + parms.get("name"));
String pw = digest(args[2]);
out.println("password = |" + pw + "|");
System.out.println(pw);
out.println("admin = " + parms.get("admin"));
out.println("fullName = " + parms.get("fullName"));
out.println("email = " + parms.get("email"));
out.println("url = " + parms.get("url"));
out.println("address = " + parms.get("address"));
out.println("phone = " + parms.get("phone"));
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//============================================================================
private static String digest(String theStr) {
try {
byte[] theBytes = new byte[theStr.length()];
theStr.getBytes(0, theStr.length(), theBytes, 0);
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(theBytes);
String digestedStr = new String(md.digest());
System.out.println(digestedStr + " length = " + digestedStr.length());
return digestedStr;
} catch (Exception e) {
e.printStackTrace();
}
return "Digest Error";
}
//============================================================================
public static Hashtable readConf(String fname) {
Hashtable rtn = new Hashtable(20,10);
File f1 = new File(fname);
if (f1.exists()) {
// System.out.println("file exists");
try {
FileInputStream inFile = new FileInputStream(f1);
int size = (int)f1.length();
byte[] fileBytes = new byte[size];
inFile.read(fileBytes);
inFile.close();
String fileString = new String(fileBytes, 0);
// System.out.println(fileString);
// get each line fron the fileString
// if a line begins with "//" then skip it
// else break it into parm = value
StringTokenizer fileTokens = new StringTokenizer(fileString, "\n\r");
while (fileTokens.hasMoreTokens()) {
String line = fileTokens.nextToken();
if (!line.startsWith("//")) {
StringTokenizer lineTokens = new StringTokenizer(line, "=;");
if (lineTokens.countTokens() >= 2) {
String parm = lineTokens.nextToken().trim();
String value = lineTokens.nextToken().trim();
// System.out.println("Parm: " + parm + " = Value: " + value);
rtn.put(parm, value);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("file does NOT exist: " + fname);
}
// System.out.println("\n=======================\nreadConf(" + fname + ")");
// Enumeration e = rtn.keys();
// while (e.hasMoreElements()) {
// String junk = (String)e.nextElement();
// System.out.println("Key: " + junk + " = Value: " + rtn.get(junk));
// }
return rtn;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -