🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.language
Article #15469

Re: startup info/parameters

#15469
From: arnold.chatelain
Date: Tue, 15 Jun 1999 00:00
161 lines
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-mail
References: <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