Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [Java] file Ini

  1. #1
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    [Java] file Ini

    C sono delle routine già pronte, o devo implementare tutto da 0? e poi i file ini si usano come normali file di testo?

  2. #2
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    public class IniParser {

    // Handler per la lettura del file
    private BufferedReader file;

    // Nome del file INI di configurazione
    private String fileName;

    /**
    * Creazione del parser.
    *
    * @param fileName il nome del file INI da leggere
    */
    public IniParser(String fileName) throws FileNotFoundException
    {
    this.fileName = fileName;

    try {
    file = new BufferedReader(new FileReader(fileName));
    }
    catch ( FileNotFoundException e ) {
    throw(e);
    }
    }


    /**
    * Ritorna il nome del file INI.
    */
    private String getFileName() {

    return fileName;

    }


    /**
    * Chiusura dei flussi di I/O con il file INI.
    */
    public void close()
    {
    try {
    file.close();
    }
    catch ( IOException e ) {
    }
    }


    /**
    * Recupera il valore di un parametro nel file INI.
    *
    * @param header il nome della sezione
    * @param name il nome del parametro
    *
    * @return il valore del parametro
    */
    public String getValue(String header, String name)
    {
    return getValue(header, name, 1);
    }


    /**
    * Recupera il valore di un parametro nel file INI.
    *
    * @param header il nome della sezione
    * @param name il nome del parametro
    * @param position l'occorrenza cercata (la prima ha indice 1)
    *
    * @return il valore del parametro
    */
    public String getValue(String header, String name, int position)
    {
    String value = "";
    String section = "";
    String line = "";
    header = "[" + header + "]";

    int index = 0;
    boolean flag = true;
    try {
    close();
    file = new BufferedReader(new FileReader(fileName));

    for (line = file.readLine(); line != null && flag; ) {
    if ( !line.equals("") ) {
    if ( line.substring(0, 1).equals("[") && line.substring(line.length() - 1, line.length()).equals("]") )
    section = line;
    else if ( section.equals(header) && name.equals(line.substring(0, line.indexOf('='))) ) {
    ++index;
    if ( index == position ) {
    value = line.substring(line.indexOf('=') + 1, line.length());
    flag = false;
    }
    }
    }
    line = file.readLine();
    }
    }
    catch ( IOException e ) {
    }

    if ( value.equals("") )
    value = null;

    return value;
    }


    /**
    * Conta il numero di occorrenze con cui un parametro si presenta nel file INI.
    *
    * @param header il nome della sezione
    * @param name il nome del parametro
    *
    * @return il numero di occorrenze
    */
    public int getOccurrency(String header, String name)
    {
    int i = 0;
    while ( getValue(header, name, ++i) != null );

    return i - 1;
    }


    }
    questo è il codice per gestire i file ini!
    Nel main, o cmq dove ti serve metti:

    HashMap parameters=null;
    String iniFileName = "Parameters.ini";
    IniParser iniFile=null;
    try
    {
    iniFile = new IniParser("Parameters.ini");
    }
    catch (FileNotFoundException e)
    {
    e.printStackTrace();
    }
    parameters = new HashMap();
    String ip = iniFile.getValue("DATABASE","Ip");
    String name_db=iniFile.getValue("DATABASE", "Name");
    String utente= iniFile.getValue("DATABASE", "User");
    String numcomS=iniFile.getValue("COM", "Port");

    Io t ho fatto un esempio dove recupero dal file ini ip nome e user da [database] e numcoms da [com]

    il mio file parameters.ini sara quindi cosi:


    [DATABASE]
    Name=db_ciao
    Ip=192.168.1.52
    User=root
    Pass=miao

    [COM]
    Port=1

  3. #3
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    ottimo dopo lo provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.