Article View: borland.public.jbuilder.java.language
Article #15469Re: startup info/parameters
From: arnold.chatelain
Date: Tue, 15 Jun 1999 00:00
Date: Tue, 15 Jun 1999 00:00
161 lines
5243 bytes
5243 bytes
This is a multi-part message in MIME format.
--------------689055AC19D3A4C4592DBE84
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
you can store start info in a file
and read the file with a class like :
import java.io.*;
import java.util.*;
/**
* Class for configuring xxx tool
*
* @version 1.00 February-June 1999
* @author Arnold Ch�telain
*/
public class FileConfiguration {
static String SEP=System.getProperty("file.separator");
static final char CONFIG_COMMENT_CHAR='#';
String dataDirectory ="";
String imageDirectory="";
String textDirectory="";
String testPlanFile="";
String logFile="";
public FileConfiguration() {
}
public String getDataDirectory(){
return dataDirectory;
}
public String getImageDirectory(){
return imageDirectory;
}
public String getTextDirectory(){
return textDirectory;
}
public String getLogFile(){
return logFile;
}
public String getTestPlanFile(){
return testPlanFile;
}
public void display(){
System.out.println("dataDirectory: "+ dataDirectory);
System.out.println("imageDirectory: "+ imageDirectory);
System.out.println("textDirectory: "+ textDirectory);
System.out.println("testPlanDirectory: "+ testPlanFile);
}
public void processConfigurationFile(String fname){
try{
File file=new File(fname);
if(file.exists()){
BufferedReader reader = new BufferedReader(new
FileReader(file));
String line;
while ((line=reader.readLine())!=null)
processConfigurationLine(line);
reader.close();
}
}catch(Exception ex) {
System.out.println("Unable to process configuration file.");
}
}
public void processConfigurationLine(String line)throws
NumberFormatException{
line=removeLeadingWhiteSpace(line);
if(line.length()==0) return;
int n;
int n1 = line.indexOf(' ');
int n2 = line.indexOf('\t');
if (n1==-1) n=n2;
else if (n2==-1) n=n1;
else if (n1<n2) n=n1;
else n=n2;
if(n1==-1||n==line.length()-1) return;
String param=line.substring(0,n);
System.out.println(param);
String value=line.substring(n+1);
System.out.println(value);
if (param.equals("dataDirectory")){
dataDirectory=value;
if(!dataDirectory.equals("")){
char ch=dataDirectory.charAt(dataDirectory.length()-1);
if(ch!='/' && ch!='\\') dataDirectory+='/';
}
}else if (param.equals("imageDirectory"))
imageDirectory=value;
else if (param.equals("textDirectory"))
textDirectory=value;
else if (param.equals("testPlanFile"))
testPlanFile=value;
else if (param.equals("logFile"))
logFile=value;
}
String removeLeadingWhiteSpace(String line){
boolean finished=false;
do{
if(line.length()== 0)return "";
char ch=line.charAt(0);
if(ch==CONFIG_COMMENT_CHAR) return "";
if (ch!=' ' && ch!='\t') return line;
line=line.substring(1);
} while(!finished);
return "";
}
public static void main(String[] arg){
FileConfiguration config=new FileConfiguration();
config.processConfigurationFile("/config.txt");
config.display();
}
}
and the file look like this
--------------------------------
#description of the variable
variableName value
---------------
br Arnold
kevinduff@my-deja.com wrote:
> What is the best way to store startup info/parameters for a Java
> application.
> Under VB I would store the startup info (database to use, user ids and
> other stuff)
> in the Windows registry.
>
> How should I do this with Java??
>
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.
--------------689055AC19D3A4C4592DBE84
Content-Type: text/x-vcard; charset=us-ascii;
name="arnold.chatelain.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for �����
Content-Disposition: attachment;
filename="arnold.chatelain.vcf"
begin:vcard
n:Ch�telain;Arnold
tel;work:42260
x-mozilla-html:FALSE
adr:;;;;;;
version:2.1
email;internet:arnold.chatelain@mc.alcatel.de
fn:Arnold Chatelain
end:vcard
--------------689055AC19D3A4C4592DBE84--
Technical Details
Message-ID:
<37668512.1E45E5C2@mc.alcatel.de>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<7k5p3e$nun$1@nnrp1.deja.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: f74b3,36df6b8515b2cc5e X-Google-Attributes: gidf74b3,public From: arnold.chatelain@mc.alcatel.de Subject: Re: startup info/parameters Date: 1999/06/15 Message-ID: <37668512.1E45E5C2@mc.alcatel.de> X-Deja-AN: 489918121 References: <7k5p3e$nun$1@nnrp1.deja.com> To: kevinduff@my-deja.com X-Accept-Language: en Content-Type: multipart/mixed; boundary="------------689055AC19D3A4C4592DBE84" X-Complaints-To: news@ks.sel.alcatel.de X-Trace: sls7ag.stgl.sel.alcatel.de 929465593 27162 149.204.236.131 (15 Jun 1999 16:53:13 GMT) Organization: ALCATEL SEL Mime-Version: 1.0 NNTP-Posting-Date: 15 Jun 1999 16:53:13 GMT Newsgroups: borland.public.jbuilder.java.language