Está en la página 1de 2

Creati o clasa numita ServerConfig.

Sa aiba 2 constructori:unul fara argumente,


atunci fisierul ar trebui sa deschida impllicit
server.config si un constructor String care contine chiar numele fisierului de c
onfigurare.
Ce face clasa?
citeste serverul de configurare si expunerea valorilor prin metode
clasa trebuie sa fie imutabila
-clasa trebuie sa ignore liniile care incep cu
#
Arunca exceptii in care formatul fisierului este invalid:
-probleme la deschidere/citire: I/O Exception
-daca lipseste o cheie: MissingKeyExepcion
-format invalid: InvalidFormatExeptcion
-cheie necunoscuta: UnknownKeyExeption
Obs: aceste metode intorc valori numerice
O lista de metode care ajuta in conceperea programului:
String:->trim
->charAt
->startsWith
->contains
->split
Integer-> parse_Int
Bufferreader->readline
////////////////////////////////////////////////////////////////////////////////
///////////////
Cu asta citesti fisirul si afiseaza doar liniile care NU incep cu "#":
FileReader reader = new FileReader("server.config");
BufferedReader br = new BufferedReader(reader);
String line="";
while((line=br.readLine())!=null){
if(!line.startsWith("#")){
System.out.println(line);
}
////////////////////////////////////////////////////////////////////

//am folosit BufferedReader pentru a deschide fisierul


private BufferedReader reader=null;
class ServerConfig{
// constructor fara argumente
public ServerConfig(){
}
//constructor cu argumente
public ServerConfig(String file) throws Exception
{

File file = new File("server.config");


reader = new BufferedReader(new FileReader(file));
//daca fisierul nu exista atunci -exceptie
if(file.exists())
{
try
{
reader=new BufferedReader(new FileReader(file));
}
catch(FileNotFoundException fnfe)
{
System.out.println(fnfe.getMessage());
}
catch(IOException ioe)
{
System.out.println(ioe.getMessage());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
else
{
throw new Exception("fisierul nu exista");
}
}
}
}

También podría gustarte