Announcement

Collapse
No announcement yet.

In Datei schreiben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • In Datei schreiben

    Hey, ich bin noch ein ziemlicher "java" Anfänger, habe zwar schon die eine oder andere Erfahrung mit der Sprache selbst, da ich sie 1 Jahr lang in der Schule intensiv als Schulfach hatte. Als IDE nutze ich eclipse.
    Mein Problem liegt daran, dass ich es nicht schaffe, dass mein Programm von mir erzeugte Daten in eine Datei schreibt.

    Ich hab mir das Buch geholt "Java Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren" und da es mir nicht leicht fällt, ganze Projekte anzugehen dachte ich, dass wär ne nette Übung. Falls jemand das Buch kennt, oder vllt selbst zuhause hat: Es geht um Tag 4, S.50 Aufgabe Nr.3.

    In dieser Aufgabe soll man ein Programm schreiben, was nacheinander die Buchstaben des Alphabets in eine Datei schreibt. Vllt liegt der Fehler schon direkt im Programmcode, dessen bin ich mir aber nicht sicher. Deswegen hier die Syntax:

    Code:
    import java.io.*;
    public class S50Day4_3 {
    	public static void main(String[] args) {
    		//Dateiname wird übergeben
    		String Alphabet = args[0];
    		try{
    			BufferedWriter myWriter = 
    			new BufferedWriter(new FileWriter(Alphabet,false));
    			
    			//schreibe Zeilenweise das Alphabet in Datei mit Kleinbuchstaben 
    			//und Großbuchstaben
    			char anfangKlein = 'a';
    			char endeKlein = 'z';
    			char anfangGroß = 'A';
    			char endeGroß = 'Z';
    			
    			String aBisz ="";
    			String AbisZ ="";
    			
    			while(anfangKlein<=endeKlein){
    				aBisz+=anfangKlein;
    				anfangKlein++;
    				myWriter.write(""+aBisz);
    			}
    			while(anfangGroß<=endeGroß){
    				AbisZ+=anfangGroß;
    				anfangGroß++;
    				myWriter.write(""+AbisZ);
    			}
    			//Datei schließen
    			myWriter.close();
    		} 
    		catch (IOException eIO){
    			System.out.println("Folgender Fehler ist aufgetreten:"+eIO);
    		}
    	}
    }
    Ich denke eher, dass das Problem irgendwie mit Eclipse zusammen hängt. (Der ein oder andere könnte sagen nimm ne einfachere IDE, aber ich steh zu sehr auf Eclipse.)
    Das Programm erstellt ja keine Datei, deshalb habe ich selbst eine "Alphabet.dat" erstellt. (Wird im Buch nicht beschrieben) Meine Frage ist nun, wo im Workspace von Eclipse muss selbige Datei abgelegt werden, damit das Programm darin schreiben kann. Ich habe es schon im Projektordner versucht, im SRC Folder, im BIN Folder... Naja, es sprang nichts drauf an.

    Als Fehlermeldung wird übrigens folgendes geworfen:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at S50Day4_3.main(S50Day4_3.java:5)

    Zeile 5 wäre folgende: String Alphabet = args[0];


    Ich schätze es liegt daran, weil ich nicht der Windoof Konsole compilieren kann und demensprechend, dass Programm nicht mit Parameter starten kann.
    Kann ich eclipse die entsprechenden Paremeter übergeben? Wenn ja, wie?

    Ich hoffe ihr könnt helfen. Ich danke schonmal im Vorraus, dass ihr euch den Text angetan habt und guten Anworten.

    mit freundlichen Grüßen
    IzUaL36

  • #2
    Es wird definitv nicht an Eclipse liegen
    Es ist definitiv der falsche Weg, wenn das Programm die Datei nicht anlegt, das manuell zu machen. Das wird dir bei diesem Fehler nicht weiterhelfen


    Ich schätze es liegt daran, weil ich nicht der Windoof Konsole compilieren kann und demensprechend, dass Programm nicht mit Parameter starten kann.
    Sicherlich liegt es daran!!Und wenn du das erkannt hast, wird doch das manuelle Anlegen einer Datei den Fehler nicht beheben können, wenn das Programm Angaben beim Start erwartet!!

    Kann ich eclipse die entsprechenden Paremeter übergeben? Wenn ja, wie?
    In der Run-Configuration für dein Projekt

    Einfacher für dich wird es sein

    String Alphabet = "c:\\alpahbet.dat";

    zu programmieren.

    Des Weiteren hat es sich eingebürgert. Variablennamen klein zu schreiben; Klassen groß

    also

    String alphabet = "c:\\alpahbet.dat";

    Ebenso nutze Breakpoints und Konsolenausgaben um Fehler zu finden
    Zuletzt editiert von Christian Marquardt; 17.10.2009, 11:13. Reason: Rechtschreibung
    Christian

    Comment


    • #3
      Danke für die Antwort,
      ich werde es direkt einmal testen. Ich werde meine Ergebnisse dann wieder posten.

      mfg

      IzUaL36

      Comment

      Working...
      X