Hallo,
ich habe jetzt mal eine Klasse zum einlesen nach meinem Geschmack erstellt (siehe unten).
Ich habe jetzt noch paar Probleme bei der Main. Meinen Ansatz kann man unten sehen. Ich weiß zwar, dass es für manche trivial ist, aber ich hab da Probleme. Im Grunde genommen ist es nur eine Konsolenanwendung. Wie man sehen kann, möchte ich einen Schalter abfragen, der vom Nutzer aktiviert wird, sobald man das passende Statement (mind. ein Statement) gewählt hat. Das gewählte Statement kann dan sofort übernommen werden.
Mich würde es interessieren, ob die Prüfung der Parameter stimmt und wie ich das ausgewählte Statement aus der Konsole sofort abspeicher und der Klasse DB zum ausführen übermittle.
ich habe jetzt mal eine Klasse zum einlesen nach meinem Geschmack erstellt (siehe unten).
Ich habe jetzt noch paar Probleme bei der Main. Meinen Ansatz kann man unten sehen. Ich weiß zwar, dass es für manche trivial ist, aber ich hab da Probleme. Im Grunde genommen ist es nur eine Konsolenanwendung. Wie man sehen kann, möchte ich einen Schalter abfragen, der vom Nutzer aktiviert wird, sobald man das passende Statement (mind. ein Statement) gewählt hat. Das gewählte Statement kann dan sofort übernommen werden.
Mich würde es interessieren, ob die Prüfung der Parameter stimmt und wie ich das ausgewählte Statement aus der Konsole sofort abspeicher und der Klasse DB zum ausführen übermittle.
Code:
public class ReadData {
/**
*
* @return
* @throws Exception
*/
public String[][] read_file()throws Exception {
//Ort der Datei
File file = new File("c:/SQL_Statements.txt");
//Zeilenweise auslesen
BufferedReader br = new BufferedReader(new FileReader(file));
//Deklaration
String statement;
int anzahlstatements=0;
//Ermitteln der Anzahl an Zeilen
while((statement = br.readLine()) !=null) {
++anzahlstatements;
}
String[][] array = new String[anzahlstatements][2];
br.close();
br = new BufferedReader(new FileReader(file));
for(int i = 0; i < array.length; i++)
{
//pro Zeile
statement = br.readLine();
String tmp[] = statement.split("\",,,\"");//Felder aus Datei für Zeile i in tmp eingelesen
if(tmp.length != array[i].length) throw new Exception("größen stimmen nicht überein");
for(int j = 0; j < array[i].length; j++)
{
//pro Feld
array[i][j] = tmp[j];
}
}
br.close();
return array;
}
}
Code:
public class Main {
public static void main(String[] args) throws Exception{
//1. eingabeparameter prüfen (statement gewählt? zeitangaben->variablen,etc.)
//die Argumente der Kommandozeile, die sich im Feld args[] befinden werden ausgegeben
for ( int i = 0; i < args.length; i++ )
System.out.println( args[i] );
//Um zu testen, ob auf der Kommandozeile der Schalter --name gesetzt ist
String Schalter = "--name";
String Kommandozeile = args[i];
if(Schalter.equals(Kommandozeile))
{
System.out.println("beinhaltet --name");
}
else{
System.out.println("beinhaltet nicht --name");
}
//3. ausführen
//->DB::
//4. Ausgabe in Textdatei speichern (additiv? überschreibend? einzelne Dateien?)
//->StoreValues::
//5. Ausgabe für evtl. weitere Exportvarianten
//6. Ende
//Objekt ReadData
ReadData r1 = new ReadData();
//Statements ausgeben
String[][] test = r1.read_file();
//Testweise test ausgeben
System.out.println("Das Statement mit dem Namen "+test[0][1]+" lautet:");
System.out.println(test[0][0]);
System.out.println("Das Statement mit dem Namen "+test[1][1]+" lautet:");
System.out.println(test[1][0]);
}
}