?? networkinfo.java
字號:
/*
$Author: $
$Date: $
$Revision: $
$NoKeywords: $
*/
package jp.co.ntl;
import java.io.Serializable;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class NetworkInfo implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String host = null;
private String domain = null;
private String workgroup = null;
private String driver = null;
private boolean useDhcp = false;
private int[] ip = null;
private int[] subnet = null;
private int[] gateway = null;
private int[] dns = null;
private boolean useMail = false;
private int[] smtp = null;
private boolean useNtp = false;
private int[] ntp = null;
private boolean useFtpProxy = false;
private int[] ftpProxy = null;
private int ftpProxyPort;
//host
public final String getHost() { return host; }
public final void setHost(String host) { this.host = host; }
//domain
public final String getDomain() { return domain; }
public final void setDomain(String domain) { this.domain = domain; }
//workgroup
public final String getWorkgroup() { return workgroup; }
public final void setWorkgroup(String workgroup) { this.workgroup = workgroup; }
//driver
public final String getDriver() { return driver; }
public final void setDriver(String driver) { this.driver = driver; }
//dhcp
public final boolean isUseDhcp() { return useDhcp; }
public final void setUseDhcp(boolean useDhcp) { this.useDhcp = useDhcp; }
//ip
public final int[] getIp() { return ip; }
public final void setIp(int[] ip) { this.ip = ip; }
public final void setIp(String ip) { this.ip = split(ip); }
//subnet
public final int[] getSubnet() { return subnet; }
public final void setSubnet(int[] subnet) { this.subnet = subnet; }
public final void setSubnet(String subnet) { this.subnet = split(subnet); }
//gateway
public final int[] getGateway() { return gateway; }
public final void setGateway(int[] gateway) { this.gateway = gateway; }
public final void setGateway(String gateway) { this.gateway = split(gateway); }
//dns
public final int[] getDns() { return dns; }
public final void setDns(int[] dns) { this.dns = dns; }
public final void setDns(String dns) { this.dns = split(dns); }
//mail
public final boolean isUseMail() { return useMail; }
public final void setUseMail(boolean useMail) { this.useMail = useMail; }
//smtp
public final int[] getSmtp() { return smtp; }
public final void setSmtp(int[] smtp) { this.smtp = smtp; }
this.smtp = split(smtp);
if (this.smtp == null) {
useMail = false;
} else {
useMail = true;
}
}
//ntp
public final boolean isUseNtp() { return useNtp; }
public final void setUseNtp(boolean useNtp) { this.useNtp = useNtp; }
public final int[] getNtp() { return ntp; }
public final void setNtp(int[] ntp) { this.ntp = ntp; }
public final void setNtp(String ntp) {
this.ntp = split(ntp);
if (this.ntp == null) {
useNtp = false;
} else {
useNtp = true;
}
}
//ftp proxy
public final boolean isUseFtpProxy() { return useFtpProxy; }
public final void setUseFtpProxy(boolean useFtpProxy) { this.useFtpProxy = useFtpProxy; }
public final int[] getFtpProxy() { return ftpProxy; }
public final void setFtpProxy(int[] ftpProxy) { this.ftpProxy = ftpProxy; }
public final void setFtpProxy(String ftpProxy) {
this.ftpProxy = split(ftpProxy);
if (this.ftpProxy == null) {
useFtpProxy = false;
} else {
useFtpProxy = true;
}
}
public final int getFtpProxyPort() { return ftpProxyPort; }
public final void setFtpProxyPort(int ftpProxyPort) { this.ftpProxyPort = ftpProxyPort; }
public final void setFtpProxyPort(String ftpProxyPort) {
try {
this.ftpProxyPort = Integer.parseInt(ftpProxyPort);
useFtpProxy = true;
} catch (NumberFormatException e) {
useFtpProxy = false;
}
}
/**
* 僐儅儞僪偐傜僨乕僞傪撉傒崬傓丅
*/
public void readFromCommand(String command) throws IOException {
int index;
String key, value;
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s;
while ((s = br.readLine()) != null) {
if ((index = s.indexOf(' ')) == -1) {
break;
}
key = s.substring(0, index);
value = s.substring(index + 1);
put(key, value);
}
br.close();
}
/**
* 僼傽僀儖偐傜僨乕僞傪撉傒崬傓丅
*/
public void readFromFile(String networkFile) throws FileNotFoundException, IOException {
int index;
String key, value;
FileReader fr = new FileReader(networkFile);
BufferedReader br = new BufferedReader(fr);
String s;
while ((s = br.readLine()) != null) {
if ((index = s.indexOf(' ')) == -1) {
break;
}
key = s.substring(0, index);
value = s.substring(index + 1);
put(key, value);
}
br.close();
}
/**
* 僼傽僀儖偵僨乕僞傪彂偒崬傓丅
*/
public void writeToFile(String networkFile) throws IOException {
FileWriter fw = new FileWriter(networkFile);
BufferedWriter bw = new BufferedWriter(fw);
if (host != null) {
bw.write("host " + host);
bw.newLine();
}
if (domain != null) {
bw.write("domain " + domain);
bw.newLine();
}
if (workgroup != null) {
bw.write("workgroup " + workgroup);
bw.newLine();
}
if (driver != null) {
bw.write("driver " + driver);
bw.newLine();
}
if (!useDhcp) {
if (ip != null) {
bw.write("ip ");
bw.write(join(ip));
bw.newLine();
}
if (subnet != null) {
bw.write("subnet ");
bw.write(join(subnet));
bw.newLine();
}
if (gateway != null) {
bw.write("gateway ");
bw.write(join(gateway));
bw.newLine();
}
}
if (dns != null) {
bw.write("dns ");
bw.write(join(dns));
bw.newLine();
}
if (useMail) {
if (smtp != null) {
bw.write("smtp ");
bw.write(join(smtp));
bw.newLine();
}
}
if (useNtp) {
if (ntp != null) {
bw.write("ntp ");
bw.write(join(ntp));
bw.newLine();
}
}
if (useFtpProxy) {
if (ftpProxy != null) {
bw.write("ftpproxy ");
bw.write(join(ftpProxy));
bw.newLine();
bw.write("ftpproxyport " + ftpProxyPort);
bw.newLine();
}
}
bw.close();
}
public void put(String key, String value) {
if (key.equals("host")) {
setHost(value);
} else if (key.equals("domain")) {
setDomain(value);
} else if (key.equals("workgroup")) {
setWorkgroup(value);
} else if (key.equals("driver")) {
setDriver(value);
} else if (key.equals("dhcp")) {
int dhcp = Integer.parseInt(value);
if (dhcp != 0) setUseDhcp(true);
else setUseDhcp(false);
} else if (key.equals("ip")) {
setIp(split(value));
} else if (key.equals("subnet")) {
setSubnet(split(value));
} else if (key.equals("gateway")) {
setGateway(split(value));
} else if (key.equals("dns")) {
setDns(splitDNS(value));
} else if (key.equals("smtp")) {
int[] smtp = split(value);
if (smtp == null) {
setUseMail(false);
} else {
setUseMail(true);
setSmtp(smtp);
}
} else if (key.equals("ntp")) {
int[] ntp = split(value);
if (ntp == null) {
setUseNtp(false);
} else {
setUseNtp(true);
setNtp(ntp);
}
} else if (key.equals("ftpproxy")) {
int[] ftpproxy = split(value);
if (ftpproxy == null) {
setUseFtpProxy(false);
} else {
setUseFtpProxy(true);
setFtpProxy(ftpproxy);
}
} else if (key.equals("ftpproxyport")) {
try {
int port = Integer.parseInt(value);
setFtpProxyPort(port);
} catch (NumberFormatException e) {
}
}
}
private int[] split(String address) {
if (address == null) {
return null;
}
int[] a = new int[4];
StringTokenizer st = new StringTokenizer(address, ".");
for (int i = 0; i < 4; i++) {
if (st.hasMoreTokens()) {
a[i] = Integer.parseInt(st.nextToken());
} else {
return null;
}
}
return a;
}
private static int[] splitDNS(String address) {
if (address == null) {
return null;
}
int[] a = new int[4];
StringTokenizer st = new StringTokenizer(address, ".");
//Dns偼桪愭搙弴偵暋悢偺傾僪儗僗偑搊榐偝傟傞偙偲偑偁傞丅乮"0.0.0.0, 0.0.0.0"摍乯
//奺傾僪儗僗傪嬫愗傞暥帤偼OS偵埶懚偡傞偨傔丄悢抣偐偳偆偐偱敾抐偡傞丅
for (int i = 0; i < 4; i++) {
if (st.hasMoreTokens()) {
String token = st.nextToken();
if (i < 3) {
a[i] = Integer.parseInt(token);
} else {
int cnt = 0;
for (; cnt < token.length(); cnt++) {
if (!Character.isDigit(token.charAt(cnt))) {
break;
}
}
if (cnt > 0) {
a[i] = Integer.parseInt(token.substring(0, cnt));
} else {
a[i] = Integer.parseInt(token);
}
}
} else {
return null;
}
}
return a;
}
private String join(int[] a) {
if (a == null || a.length < 4) {
return null;
}
StringBuffer sb = new StringBuffer();
sb.append(a[0]);
sb.append('.');
sb.append(a[1]);
sb.append('.');
sb.append(a[2]);
sb.append('.');
sb.append(a[3]);
return new String(sb);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -