import java.util.*;
import java.io.*;
public class Profile extends LinkedHashMap
{
String filename=null;
Profile(String filename)throws FileNotFoundException,IOException
{
load(filename);
} Profile()
{
}
public void load(String filename)
throws FileNotFoundException,IOException
{
this.filename = filename;
java.io.FileReader fr=new FileReader(filename);
java.io.BufferedReader br=new BufferedReader(fr);
String line=null;
Map group=null;
while(true)
{
line=br.readLine()
if(line==null)break;
String groupName=getGroup(line);
if(groupName!=null)
{
group=new LinkedHashMap();
this.put(groupName,group);
continue;
} Entry entry=getEntry(line);
if(group!=null && entry!=null)group.put(entry.name,entry.value);
}
fr.close();
} public void saveAs(String filename)throws IOException
{
this.filename = filename;
saveProfile();
} public void saveProfile()throws IOException
{
if(filename==null)return;
BufferedWriter writer=new BufferedWriter(new java.io.FileWriter(filename));
for(Iterator i=entrySet().iterator();i.hasNext();)
{
Map.Entry group=(Map.Entry)i.next();
writer.write("[" + group.getKey() + "]\r\n");
Map map=(Map)group.getvalue()
for(Iterator j=map.entrySet().iterator() j.hasNext() )
{
Map.Entry entry=(Map.Entry)j.next()
writer.write(entry.getKey() + "=" + entry.getvalue() + "\r\n");
}
writer.write("\r\n");
}
writer.close()
} private String getGroup(String line)
{
int start=line.indexOf('[')
int end=line.indexOf(']');
return start<0 | end<=start ? null : line.substring(start + 1,end).trim();
} private Entry getEntry(String line)
{
int index=line.indexOf('=');
return index<0 ? null : new Entry(line.substring(0,index).trim(),
line.substring(index + 1));
} public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
private class Entry
{
public String name,value;
public Entry(String name,String value)
{
this.name = name;
this.value = value;
}
} public static void main(String args[])
{
try
{
Profile profile=new Profile("D:\\test.ini");
Map group=(Map)profile.get("ss");
String item=(String)group.get("ss");
group.put("ss","ss");
group.remove("ss");
System.out.println(group)
profile.saveProfile();
profile.saveAs("C:\\test.ini");
}catch(Exception ex){ex.printStackTrace() }
}
}
除非你没有访问这个属性的权限
但是一般你的程序里面的setProperty(key,value)都可以读取出来
java.lang.Process myproc = Runtime.getRuntime().exec("cmd.exe /c set dbserver");
InputStream is = myproc.getInputStream();
byte[] data = new byte[1024*2];
int i = 0;
is.read(data,0,1024*2);
System.out.println(new String(data));
is.close();
is = null;
} catch (IOException e) {
e.printStackTrace();
}
应该写成
java -cp xxx.jar -Ddbserver=testserver xxxxx
如果一定要用系统环境变量可以
java -cp xxx.jar -Ddbserver=$dbserver xxxxxx
然后在java里
System.getProperty("dbserver");