Aus Datei lesen

wernom

Mitglied
Hallo,

1. Frage: Ist es richtig eine Datei in Java nach diesem Muster zu erstellen. Ich habe es in diesem Forum gefunden, mein Programm funktioniert auch, allerdings verstehe ich nicht warum in den Klammern der ersten Methode "String" stehen muss. In unserem Lehrbuch wird dies nämlich nicht erklärt und in der Vorlesung auch nicht angesprochen.

Ich habe zuerst folgende Methode:

static void datei(String Datei) {
}

Anschließend habe ich sie dann in der public methode
mit
datei("***.txt");
erzeugt.


2. Frage: Wo finde ich nun diese erstellte Datei? Wie kann ich sehen, was in der Datei steht. In unserem Aufgabenblatt steht, dass man es mit dem Editor machen kann. Aber ich weiß nicht wie.
 
Die "irgendeinName.txt" müsste im gleichen Verzeichnis wie die java-Dateien sein.

Das "Stirng Datei" müsste ein Parameter sein, wobei "String" auf den Typ verweist. Also Datie ist vom typ String.
 
Die Datei "***.txt" finde ich übrigens nicht in dem Ordner, wo meine Programme sind. Kann es sein, dass sie nicht erstellt worden ist?

Vielleicht zeige ich einmal mein ganzes Programm:
Java:
class WriteNumbers { 

        static int Zufallszahl() {
            return (int) (Math.random() * 10);
        }
        
        static void datei(String Datei) {
        }
        
        static void AbspeichernderZahl(int zahl) {
            System.out.println(zahl);
        }
 
    public static void main(String[] args) {
        datei("20numbers.txt");
        int summe = 0;
        for (int i=0; i<20; i++) {
            int zufallszahl = Zufallszahl();
            summe += zufallszahl;
            AbspeichernderZahl(zufallszahl);
        }
        System.out.println("Kontrollsumme: " + summe);
    } 
}

Auf meinen AUfgabenblatt ist noch eine weitere Frage:
Man soll die Datei einlesen mit einem weiteren Programm.
Dazu steht im Lehrbuch ("Sprechen Sie Java?"):
Java:
In.open("***.txt")
int x = In.readInt();
while(In.done()){
...process x...
x = In.readInt();
}
In.close();

Also zuerst wird die Datei geöffnet. Dann wird x initialisiert und gelesen aus der Datei. In.done verstehe ich nicht was macht. In der Schleife wird jedenfalls x solange zugewiesen, wie man es eingibt.
Dann wird die Datei geschlossen.

Allerdings werden bei mir nicht Zufallszahlen angezeigt, sondern ich muss eben welche eingeben.
 
Zuletzt bearbeitet:
Da fehlt aber was. Zumindest das schließende } der Klasse.

Nutze bitte mal JAVA-Tags.
Code:
Java™ Quelltext ist bitte in [code=Java]-Tags zu schreiben: [code=Java]hier Java Code einfügen
[/CODE]
 
Bitte benutz die Java Tags...

Aber ja ich denke du erstellt die Datei nicht... wo auch...

Java:
static void datei(String Datei) {
}
das macht ja nix... da sollst du vielleicht code rein schreiben...

(ich hoffe du bist kein Student)
 
@wernom

ich denke mal du machst auch die aufgaben von frau fohry 😀

die datei wird ja automatisch erstellt..... die b habe ich schon gemacht,
wenn du hilfe brauchst dann kannst du mich ja anschreiben...

dein programm ist unnötig lang finde ich ... zu viele methoden....


außerdem pass lieber auf... manche dumme studenten kopieren einfach den code
und geben dann das gleiche ab oder zumindestens sehr ähnlich ab...
das wäre dann ein betrugsversuch für dich 😉
 
Also ich fasse einmal zusammen:

Mit meinem Programm erhalte ich, wenn ich es compiliere, eine Auflistung von 20 Zahlen (jede zwischen 0 und 9). Die Kontrollsumme wird auch korrekt gebildet.

Anscheinend muss ich die ***.txt datei vorher erst mit einem Editor erstellen. Im Lehrbuch sind einige Methoden zu finden:
Java:
static String readFile()
[/Java]
Leider weiß ich nicht wie ich diese in mein Programm richtig einfügen kann.
 
nein du musst es nicht selber erstellen ...

Mit Out.open("20Numbers.txt");

erstellt java selber eine datei ....

du musst es nur noch ganz unten mit Out.close() ; schließen!


Mit In.open("..."); kannst du dann bei der aufgabe b die zahlen in deinen java programm holen , du musst
es nur noch mit In.close(); schließen....
..
 
Zuletzt bearbeitet:
Ich möchte nur an dieser Stelle anfügen, dass diese IN und OUT nur in eurem Kurs so vorkommen. Da ist für euch das In und Output handling "vereinfacht" worden.

In der Realität müsst ihr das selber machen obwohl das trivial ist.:rtfm:
 
Hätte auch ne Frage zum selben Übungsblatt ^^

kann man bei:
Code:
In.open("***.txt")
int x = In.readInt();
while(In.done()){
...process x...
x = In.readInt();
}
In.close();

irgendwie erkennen wann die Zeile zuende ist?
Falls ja, wie? 🙂
 
Zuletzt bearbeitet:

Zurück
Oben