SEO-Software von Suchmaschinenoptimierung.de

Erste Zeile aus einer TXT-Datei auslesen

(hier klicken, um zum Original Thread zu gelangen)
rbrixel
Hallo, ich bins wieder!

Hab grad folgendes Problem, dass ich die erste Zeile aus einer TXT-Datei auslesen will.

Bei meinem ersten Programmierversuch hat er die ganze Datei eingelesen und ausgeben, bei zweiten Versuch macht er zwar was, aber im Output sind nur Leerzeichen.

Hat da wer nen Tipp?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
try
{
  nameEingabedatei = LesePfad + str[i]; // Name der Eingabedatei
  eingabedatei = new File(nameEingabedatei); // Eingabedatei öffnen
  fr = new FileReader(eingabedatei);
  br = new BufferedReader(fr);
  int zeilennr = 1; // Gesuchte Zeile (startet bei 0; 1. Zeile = 1!)
  int j;
  for(j=0; j < zeilennr; j++)
  {
   br.readLine();
   //f.write(br.readLine()); //  - Temporär!
   System.out.println(nameEingabedatei);
   System.out.println(br.readLine());
  }
  br.close();
}...


mfg,
capsob!
moonsword
mhhh so wie ich mir das vorstelle (soweit ich mich aus meine Zeit erinnere) müsste das irgendwie so funktionieren
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
try
			{
                                // Open the file that is the first 
                                // command line parameter
                                FileInputStream fstream = new 
					FileInputStream(args[0]);

                                // Convert our input stream to a
                                // DataInputStream
				DataInputStream in = 
                                        new DataInputStream(fstream);

                                // Continue to read lines while 
                                // there are still some left to read
                                while (in.available() !=0)
				{
                                        // Print file line to screen
					System.out.println (in.readLine());
				}

				in.close();
			} 
                        catch (Exception e)
			{
				System.err.println("File input error");
			}

http://www.javacoffeebreak.com/java103/java103.html


das ganze ist ungetestet...hab hier keinen compiler drauf ^^


edit: deins sollte aber auch funktionieren
und zwar, wenn du new File weglässt:
code:
1:
BufferedReader b = new BufferedReader(new FileReader("Dateinamerl"));



andere frage? gibscht du das aus, speicherst du es? weil da steht nur ein br.readline....d.h. er liests aus und macht nichts damit?
TroX
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class Fin {

	public static void main(String[] args) {
		File f = new File( "C:\\__DESKTOP\\ashtonvon.txt" );
		try
		{
			FileReader fIn = new FileReader( f );
			BufferedReader reader = new BufferedReader( fIn );
			
			int linesToRead = 3;
			for( int i = 0; i < linesToRead; i++ )
			{
				System.out.println( reader.readLine() );
			}
		}
		catch( FileNotFoundException ex )
		{
			System.out.print( ex );
		}
		catch( IOException ex2 )
		{
			System.out.print( ex2 );
		}
		
	}

}


MfG
rbrixel
also, der "komplette" code sieht so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
String nameEingabedatei;
 	try
 	{
 		File f1 = new File(LesePfad); // Verzeichnis was gescannt werden soll
 		String str[] = f1.list(); // Inhalt in ein Array schreiben
  		//FileWriter f = new FileWriter(new File("c:/DeleteFile_Output.txt")); // - Temporär!
 		for(int i=0; i<str.length; i++) // Schleife so lange, wie Array
 		{
 			if(str[i].endsWith(DateiEndung)) // Nur Datein auflisten mit "Endung"
 			{
 			    try
 			    {
  			      nameEingabedatei = LesePfad + str[i]; // Name der Eingabedatei
 			      BufferedReader reader = new BufferedReader(
 			      new FileReader(nameEingabedatei));
 			      String zeile = reader.readLine();
 			      zeile = zeile.trim();
 			      System.out.println(zeile);
 			      //f.write(zeile + "\r\n"); 
			      reader.close();
 			    }
 			    catch (IOException e)
 			    {
 			      System.out.println ("Fehler");
  			    }
 			}
 		}
 		//f.close(); // - Temporär!
 	}
 	catch (Exception e) // Fehler abfangen
  	{
 		e.printStackTrace(); // Fehler ausgeben
 	}


Mal rein von der Funktion her: Er liest den Inhalt eines Ordners. Wenn die Datei auf .TXT endet, soll er die erste Zeile auslesen. Soweit habe ich es jetzt hinbekommen.

ABER: Was ich zB nachher in der Konsole drin stehen habe ist folgendes:

code:
1:
2:
3:
4:
5:
$$MAIL$$$$FEHLER$$1303
$$MAIL$$$$FEHLER$$1337
$$MAIL$$$$FEHLER$$1441
$$MAIL$$$$FEHLER$$1459
$$MAIL$$$$FEHLER$$1659


LesePfad ist zB: "c:\\TestDatei\\"
DateiEndung ist zB: "TXT"

-> Jetzt frag ich mich bloß, was der mir für 3 Sonderzeichen vor "$$MAIL..." hängt?

Jemand da eine Idee? Weil in der ersten Zeile ists ok, so sollte mein Output sein. Aber Zeile 2 bis n sind total falsch.

Nur noch zur Info: Das Output besteht sozusagen aus 5 Dateien, wo er immer die erste Zeile gelesen hat.

mfg,
CapSob.
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.