Datei lesen

Status
Nicht offen für weitere Antworten.

sternchen

Mitglied
Hallo Zusammen =)

ich habe eine Frage bezüglich lesen einer Datei.

Angenommen ich habe eine txt.Datei in der Zahlen enthalten sind z.b:
100
101
102
103

wie kann ich ein programm schreiben dass mir ausgibt was in der datei enthalten ist???

Es müsste ja anfangen mit :

In.open(zahlen.txt);

und dann irgendwas mit In.readint

In.close()

und dann irgendwas mit Out.println( "der Inhalt der Datei zahlen.txt");

versteht ihr mein Problem ich weiß nicht genau was nach In.open kommt? =)

vielen dank für die hilfe schonmal
 

AmunRa

Gesperrter Benutzer
such auf google nach BufferedReader und FileReader

dann müsstest du alles finden was du zum lesen einer Textdatei brauchst.
 

JavaN3rd

Mitglied
Wenn du es nicht findest wäre das eine einfache Möglichkeit (für grosse Zwecke vielleicht zu einfach):
Java:
import ch.aplu.util.Console;
import java.io.RandomAccessFile;

public class Aufgabe1 {

    public static void main(String[] args)throws Exception {
        int k;
        int teilergefunden = 0;
        
        RandomAccessFile p = new RandomAccessFile("Primzahl(Aufgabe1).txt", "rw");
        String zeile = p.readLine();
        
        System.out.println(zeile);
        }
}

Bem:Hier wird nur eine Zeile eingelesen.
 

JavaN3rd

Mitglied
Sorry die int Variablen braucht es nicht, habe den Code aus einer Aufgabe kopiert, in der diese Variablen nachher noch gebraucht werden. (Das rw als 2. Attribut von RandomAccessFile bezeichnet ob man nur lesen oder auch in das File reinschreiben darf)
 

sternchen

Mitglied
class AuswahlZahlen {

public static void main (String[] args) {

Out.println("Von welcher Zeile soll gelesen werden?: ");
int i = In.readInt();

Out.println("Bis welcher Zeile soll gelesen werden?: ");
int j = In.readInt();

while (i<=j) {

In.open("zahlen.txt");
int zeile = In.readInt();
In.close();
i++;
Out.println(zeile);
}

}
}


so sieht bisher mein programm aus... ich darf auch nur in und out klassen benutzen.
jetzt weiß ich nur nicht wie das machen soll damit mir das programm alle zeilen von i-te zeile bis j- zeile ausschreibt. so wie es jetzt ist gibt er mir nur die erste zeile der txt. datei aus
 

Knuff

Mitglied
Hallo!
ich hab das gleiche Problem wie Sternchen.

vielleicht wirds mit der Aufgabenstellung ein bisschen klarer, wos hängt..:

Schreiben Sie ein Java-Programm, welches die i-te bis j-te Zahl einer Datei zahlen.txt
(101
102
103
..
100+n)
liest und am Bildschirm ausgibt. Die Werte für i und j sollen vom Nutzer abgefragt werden. Falls nicht alle gewünschten Zahlen in der Datei enthalten sind, sollen entsprechend weniger (gegebenfalls keine) Zahlen ausgegeben werden. Im Falle j < i soll nichts ausgegeben werden. Achten Sie darauf, dass nur Zahlen aus der Datei am Bildschirm erscheinen, keine zusätzliche 0 am Dateiende.
Bsp:
Von Zeile: -2
Bis Zeile: 4
101
102
103
104

das Problem ist jetzt, dass ich bzw. wir nicht wissen, wie der die i-te und j-te zeile liest..
ich hatte das mal ausgetestet mit ner Schleife: die anzahl der zeilen der Datei sollten gezählt werden und bei jedem mal die Zahl dann auch gleich hingeschrieben werden..aber es wird gar nichts aus der Datei gelesen.

Java:
int anzahlZeilen = 0;
In.open("zahlen.text");
    while(i <= j){
      anzahlZeilen = In.readInt();

      ++i;
    }
    In.close();
    Out.println(anzahlZeilen);

hat irgendwer einen tip, wie man das umsetzen kann?
lg, Knuff
 

AmunRa

Gesperrter Benutzer
Wie Aradauer schon geschrieben hat kann euch keiner helfen wenn ihr nicht den Code der Klassen In and Out postet. da das wohl nichts aus der Java Standard API ist.
 

eRaaaa

Top Contributor
naja, das problem ist, man kennt eure In und Out klassen nicht, weil das halt keine java std klassen sind.

Code:
pseudocode:
int von = ...
int bis = ...
int aktuell = 1;
if(bis >= von){
    while(etwasZumLesenDa){
         if(aktuell >= von && aktuell <= bis){
             Out(aktuelleZeile);
         }else{
             zeileÜberspringen
         }
         aktuell++
   } 
}
 

sternchen

Mitglied
hmm hab ich doch oben schon genannt.... also um mit der datei zu arbeiten dürfen wir In.open Out.open In.close Out.close und In.read nutzen
 

eRaaaa

Top Contributor
na, dein kollege hat ja aber z.b. auch sowas wie In.readInt() benutzt. wäre halt schon interessant was es noch so für methoden gibt.(In.hasNextLine() , In.hasNextInt() o.ä.)

einen allg. ablauf wie mans machen kann hab ich ja schon im pseudo gepostet.
 

faetzminator

Gesperrter Benutzer
Wenn wir die ganzen Methodensignaturen kennen, helfen wir gerne. Z.B. [c]void foo(String)[/c] oder [c]int bar()[/c]
 

sternchen

Mitglied
achso ok sorry, bin erst anfänger in programmierung.... also wir dürfen In.readInt(), Outprintln() benutzen dann arrays schleifen mit for, while und methoden dürfen wir auch benutzen sowie if anweisungen.... bezüglich aber der txt.datei bei der wir ja einzelne zeilen abrufen müssen dürfen wir nur In.open(dateiname.txt) In.close und In.readInt benutzen....

mein problem ist jetzt wie ich es mache das das programm aus der txt.datei z.b die 4. Zeile ausgibt?

also dafür muss ich es ja erstmal öffnen mit

In.open(zahlen.txt)

...... hier muss wahrscheinlich irgendwas mit In.read hin aber ich weiß nicht genau was?

vielen dank für eure mühe =)
 

pitman

Mitglied
Da will ich mal für Klarheit sorgen^^

Es gibt eine Out.class und eine In.class, den Code kann ich euch leider nicht geben aber ich beschreib die mal:

In.readInt() - ließt eine Zahl vom Bildschirm/Konsole ein
Out.print("Beispiel") - gibt "Beispiel" in der Konsole aus

In.open("beispiel.txt") ließt Zahlen aus der Datei beispiel.txt
In.close() schließt die Datei

Out.open("a") - öffnet datei a
Out.close() ...

Wenn eine Datei offen ist kann man auch wieder In.readInt() oder Out.print() verwenden, nur dass halt in die Datei geschrieben bzw. gelesen wird.

@Sternchen/Knuff: wenn ihr die Datei geöffnet habt und 3 mal In.readInt schreibt liest er die ersten 3 Zeilen ein, also für jedes In.readInt eine Zahl.
Müsst ihr dann nur noch geschickt in ne Schleife packen so, dass die nicht gesuchten Zeilen auch nicht ausgegeben werden ;)
 

sternchen

Mitglied
ahh supi jetzt bin ich etwas schlauer =) danke... gut die nächste frage ist wenn ich jetzt 3 mal In.readInt() geschrieben hab die gibt er mir die dann am bildschirm aus also alle drei zeilen zb.
 

faetzminator

Gesperrter Benutzer
Da will ich mal für Klarheit sorgen^^

Es geht mir mehr um die Parameter und Rückgabewerte ;)
z.B. könnte es [c]int readInt(int)[/c] geben, welches den n-ten int liest, oder nur einen int, welcher >= 10^n ist... oder [c]String readInt()[/c] welches nach Regex auf eine "Zahl" überprüft und den String zurück gibt, etc. etc. :)
 

pitman

Mitglied
Ja die Klassen werden vom Buch " Sprechen Sie Java?" verwendet, wodurch der Einstieg des Programmierens vereinfacht werden soll (man braucht sich nicht von Vornherein mit Bibliotheken herumquälen).

Unser Studium ( Uni Kassel) baut auf das Buch auf.

Im Übrigen ist das Buch sehr zu empfehlen, habs dadurch echt einfacher gehabt als mit anderen Büchern.

Hier noch mal die Seite zum Buch, da sind auch die Klassen zu finden:
Sprechen Sie Java?
 

sternchen

Mitglied
ne wir studieren mathe in kassel.... aber müssen programmierung auch machen obwohl es uns nicht liegt... also mir zumindestens =) also zu mathe kann ich euch aber bestimmt helfen =)
 

sternchen

Mitglied
oh man irgendwie bekomm ich das nicht gebacken... also ich hab das mal so gemacht

class Test {

public static void main (String[] args) {

Out.println("Von welcher Zeile soll gelesen werden?: ");
int i = In.readInt();

Out.println("Bis welcher Zeile soll gelesen werden?: ");
int j = In.readInt();
int anfang = 1;
int a;
if (i <= j) {

while (i <= j) {
In.open("zahlen.txt");
a = In.readInt();
while (i > anfang) {
a = In.readInt();
anfang++;

}
Out.println(a);
a = In.readInt();
Out.println(a);
In.close();
i++;
}
}

}
}

wenn ich das programm ausführe und für i=2 und j=5 eingebe und die txt.datei aber nut bis zeile 4 geht liest er wieder die erste zeile ein.... was kann ich verändern damit es funz???

LG Sternchen
 

Schumi

Bekanntes Mitglied
edit: ok, ganz so trivial war das nicht...
nochmal edit: alles falsch... java tags würden bei der richtigen Interpretation helfen :)

So. zum 3. mal (Der erste Versuch war doch nicht so schlecht)

Du öffnest die Datei jedes mal wieder in der äußeren Schleife, dadurch fängst Du immer wieder von vorne an zu lesen. allerdings sollte das auch bei richtiger Zeilenzahl schieflaufen.
 
Zuletzt bearbeitet:

sternchen

Mitglied
class Test {

public static void main (String[] args) {

Out.println("Von welcher Zeile soll gelesen werden?: ");
int i = In.readInt();

Out.println("Bis welcher Zeile soll gelesen werden?: ");
int j = In.readInt();
int anfang = 1;
int a;
if (i <= j) {

In.open("zahlen.txt");
while (i <= j) {
a = In.readInt();
while (i > anfang) {
a = In.readInt();
anfang++;

}
Out.println(a);
a = In.readInt();
Out.println(a);

i++;
}
In.close();
}

}
}

jetzt hab ich es etwas verändert so ist es jetzt korrekt was er mir ausgib... nur wenn ich jetzt zeile 2 bis zeile 7 z.b eingebe und die txt. datei nu bis zeile 5 geht zb. gibt der mir die zeile 2 bis 5 aus und dann für die 6. und 7. zeile eine nulle = / wie kann ich das noch wegbekommen
 

Schumi

Bekanntes Mitglied
Check mal In.done() das gibt glaube ich immer true zurück, wenn die letzte Aktion (in diesem Fall wäre das readInt()) erfolgreich war. Du hörst dann einfach auf, wenn done() Dir false ausgibt.
 

pitman

Mitglied
aber müssen programmierung auch machen obwohl es uns nicht liegt...

Ich denk mal ihr werdet es eher als Nebenfach gewählt haben oder?

Zu den Nullen am Ende der Ausgabe, hab ich die einfach mit einer weiteren Bedingung unterbunden zB (... && a != 0)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
G Excle datei aus resources folder finden und lesen Java Basics - Anfänger-Themen 5
J Datei aus Projektfolder lesen Java Basics - Anfänger-Themen 12
B Aus Datei lesen Java Basics - Anfänger-Themen 23
B Aus Datei lesen Java Basics - Anfänger-Themen 0
C Input/Output Datei aus Startverzeichnis lesen Java Basics - Anfänger-Themen 6
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
MaxG. Input/Output Datei lesen Java Basics - Anfänger-Themen 3
H Aus wav-datei lesen und in neue wav-datei speichern Java Basics - Anfänger-Themen 10
D Methoden Array aus Datei lesen und weitergeben? Java Basics - Anfänger-Themen 7
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
E Input/Output Property-Datei aus einer Zip lesen in in einer anderen Zip-Datei ist Java Basics - Anfänger-Themen 3
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
J Aus Datei lesen und ausgeben Java Basics - Anfänger-Themen 4
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
G Datei zeilenweise lesen Java Basics - Anfänger-Themen 19
M Wie sämtliche Schlüssel und Attibutwerte aus einer Propertie Datei lesen? Java Basics - Anfänger-Themen 3
S Compiler-Fehler jOpenDocument Kompelierfehler - ODS Datei lesen Java Basics - Anfänger-Themen 2
T BufferReader soll datei mehrmals lesen Java Basics - Anfänger-Themen 13
S Datei aus JAR lesen. Java Basics - Anfänger-Themen 9
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
M Input/Output Viele short aus Datei lesen und von Little Endian zu Big Endian umwandeln Java Basics - Anfänger-Themen 12
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
S Input/Output aus Datei lesen Java Basics - Anfänger-Themen 6
A Datei relativ zur Lage des jar-files lesen Java Basics - Anfänger-Themen 16
Gossi Input/Output .csv Datei wird beim Lesen bearbeitet? Java Basics - Anfänger-Themen 8
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
E txt Datei schreiben und lesen Java Basics - Anfänger-Themen 9
T Datei über das Netz lesen Java Basics - Anfänger-Themen 2
W Aus Datei lesen Java Basics - Anfänger-Themen 15
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
F Kann RandomAccessFile Zip Datei lesen? Java Basics - Anfänger-Themen 14
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
J UTF8 txt-Datei lesen Java Basics - Anfänger-Themen 13
A Datei Lesen und Schreiben in gleichen Klasse Java Basics - Anfänger-Themen 3
Haubitze_Broese aus einer Datei lesen? Java Basics - Anfänger-Themen 6
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
K aus Datei lesen Java Basics - Anfänger-Themen 3
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
K Text aus einem Datei lesen , und im JTextArea ausgeben. Java Basics - Anfänger-Themen 3
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
J Problem mit Datei lesen und schreiben Java Basics - Anfänger-Themen 8
M Datei Lesen Und Schreiben! -.- Java Basics - Anfänger-Themen 7
fbn Datei als Ganzes lesen (nicht zeilenweise) Java Basics - Anfänger-Themen 8
M Probleme mit dem Lesen einer m3u-Datei Java Basics - Anfänger-Themen 8
H Datei zeilenweise rückwärts lesen Java Basics - Anfänger-Themen 9
M Delphi-Record mit Java aus Datei lesen Java Basics - Anfänger-Themen 11
R Sequentielle Datei lesen und schreiben Java Basics - Anfänger-Themen 5
G FileInputStream--> Zahlen aus Datei lesen Java Basics - Anfänger-Themen 7
S Aus Datei lesen und im Array speichern Java Basics - Anfänger-Themen 2
J Datei lesen und in Array speichern Java Basics - Anfänger-Themen 5
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
P Teile aus Datei lesen und zus mit Strings in Datei speichern Java Basics - Anfänger-Themen 4
D excel datei Spalten lesen? Java Basics - Anfänger-Themen 7
J Kommandos aus Datei lesen Java Basics - Anfänger-Themen 13
J Datei zeilenweise lesen. Java Basics - Anfänger-Themen 4
S Werte aus Datei lesen und in Variable abspeichern Java Basics - Anfänger-Themen 4
alexpetri Datei in String lesen Java Basics - Anfänger-Themen 6
K XPath werter aus XML-Datei lesen Java Basics - Anfänger-Themen 6
M Datei lesen und Char für Char wiedergeben Java Basics - Anfänger-Themen 28
K Datei öffnen, lesen, bearbeiten, in neuer datei speichern Java Basics - Anfänger-Themen 12
T Zahlen aus einer Datei lesen Java Basics - Anfänger-Themen 3
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
R Objekt aus Datei lesen Java Basics - Anfänger-Themen 5
J Class datei lesen Java Basics - Anfänger-Themen 2
T gezieltes lesen/schreiben in datei Java Basics - Anfänger-Themen 9
D ein File(Datei) lesen und diesen zu einem Hashmap hinfügen? Java Basics - Anfänger-Themen 5
A Datei lesen Java Basics - Anfänger-Themen 12
L Zeile aus Datei lesen Java Basics - Anfänger-Themen 5
S Datei lesen und speichern Java Basics - Anfänger-Themen 8
reibi Datei von hinten lesen Java Basics - Anfänger-Themen 11
G Mehrere Zahlen aus Datei lesen Java Basics - Anfänger-Themen 3
C Komische Zeichen beim Lesen aus einer .reg-Datei Java Basics - Anfänger-Themen 2
H Datei lesen und an bestimmter Stelle schreiben Java Basics - Anfänger-Themen 4
F Aus Byte Datei lesen Java Basics - Anfänger-Themen 4
B String aus Datei lesen + Länge berechnen Java Basics - Anfänger-Themen 2
L Strings von Datei lesen und in TextArea schieben Java Basics - Anfänger-Themen 3
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
S Datei lesen und in array rein Java Basics - Anfänger-Themen 10
tobiasbeil Von Datei byte für byte lesen und in ein Array einfügen. Java Basics - Anfänger-Themen 11
J Datei-Details /-Infos wie Kommentare, Autor lesen/schreiben Java Basics - Anfänger-Themen 2
F Datei lesen Java Basics - Anfänger-Themen 12
S Mit Scanner eine txt Datei lesen Java Basics - Anfänger-Themen 2
A Variablen in eine Datei speichern und lesen Java Basics - Anfänger-Themen 2
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
G aus datei lesen und in liste einfügen Java Basics - Anfänger-Themen 5
B Datei lesen und schreiben Java Basics - Anfänger-Themen 2
R Zeilen aus datei lesen + doppelt gespeichert? Java Basics - Anfänger-Themen 3
B Aus Datei Lesen -> Compiler fehler Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben