StringBuilder von File einlesen

bafl13

Mitglied
Hallo
Ich hatte ein problem ,ich will ein textdtei einlesen und dien inhalt in einem Stringbuilder speichern ,wie kann ich sowas machen,und wie könnte ich mehr als ein Datei in diesem Stringbuilder speichern und dann im computer anlegen??
Danke:)
 

zerix

Mitglied
Hallo,

schau dir mal den FileReader an und den BufferedReader an. Nützlich zum Datei einlesen
Galileo Computing :: Java ist auch eine Insel – 17 Datenströme
Galileo Computing :: Java ist auch eine Insel – 17.5 Datenströme filtern und verketten

Und hier noch ein Link zum StringBuilder.
Galileo Computing :: Java ist auch eine Insel – 4.4 Veränderbare Zeichenketten mit StringBuilder und StringBuffer

Eigentlich findest du dort alles was du brauchst.

wie könnte ich mehr als ein Datei in diesem Stringbuilder
Einfach eine Datei nach der anderen einlesen und in den StringBuilder schreiben.

dann im computer anlegen
Was meinst du damit?

Gruß

zerix
 

bafl13

Mitglied
Hallo,

schau dir mal den FileReader an und den BufferedReader an. Nützlich zum Datei einlesen
Galileo Computing :: Java ist auch eine Insel – 17 Datenströme
Galileo Computing :: Java ist auch eine Insel – 17.5 Datenströme filtern und verketten

Und hier noch ein Link zum StringBuilder.
Galileo Computing :: Java ist auch eine Insel – 4.4 Veränderbare Zeichenketten mit StringBuilder und StringBuffer

Eigentlich findest du dort alles was du brauchst.


Einfach eine Datei nach der anderen einlesen und in den StringBuilder schreiben.


Was meinst du damit?

Gruß

zerix
ich habe jetzt versucht dass wie im galileo computing und jetzt habe ich dieses Code
Java:
import java.io.*;
public class TextFilter2 implements FilenameFilter {

	String eingabe;
	void eingabeBekommen() throws IOException{
		InputStreamReader stream= new InputStreamReader(System.in);
		BufferedReader br=new BufferedReader(stream);
		System.out.println("Welcher Ordner");
		this.eingabe=br.readLine();
	}
	public boolean accept(File arg0, String arg1) {
		return false;
	}
	public void textDateien() throws IOException{
		
	
		int zaehler=0;
		StringBuilder ausgabe=new StringBuilder();
		File fin = new File(this.eingabe);		
		for (File f : fin.listFiles()) {
			if(f.getName().endsWith(".txt")){
				ausgabe.append(f);
			}
		}
		System.out.println(ausgabe);
	}		
	public static void main (String...args) throws IOException{
		TextFilter2 test= new TextFilter2();
		test.eingabeBekommen();
		test.textDateien();
	}

}
und irgendwie wenn ich
Java:
ausgabe.append(f);
schreibe dann bekomme ich
die namen von den dateien
aber wie konnte ich den inhalt bekommen??
bitte
und das programm bekommt ein verzeichniss wo es txt dateien gibt und muss alles in einem stringbuilder speichern
Vielen Dank
 

zerix

Mitglied
Du solltest dir nochmal den ersten Link anschauen. Du liest nämlich nicht eine Datei ein. Ich weiß nicht warum du FileFilter implementierst.

Ich würde dir vorschlagen, dass du dir mal ein kleines Beispiel schreibst und dort einfach mal eine Datei einliest.

Gruß

zerix
 

bafl13

Mitglied
Du solltest dir nochmal den ersten Link anschauen. Du liest nämlich nicht eine Datei ein. Ich weiß nicht warum du FileFilter implementierst.

Ich würde dir vorschlagen, dass du dir mal ein kleines Beispiel schreibst und dort einfach mal eine Datei einliest.

Gruß

zerix

Ja endlich funktioniert das Programm:) vielen dank
nur jetzt habe ich ein kommisches Problem!
ich kriege den fehler
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at TextFilter2.textDateien(TextFilter2.java:30)
at TextFilter2.main(TextFilter2.java:45)
obwohl das programm am anfang richtig funktioniert hat,und ich habe im internet gesucht und habe bemerkt dass dieser fehler kommt bei dateien die großer als 100MB und mein Programm ist sehr klein,trotz dem kommt dieser fehler ,vielleicht gibt es was falsches Bei dem??
hier ist das Code
Java:
import java.io.*;
public class TextFilter2 implements FilenameFilter {

	String eingabe;
	void eingabeBekommen() throws IOException{
		InputStreamReader stream= new InputStreamReader(System.in);
		BufferedReader br=new BufferedReader(stream);
		System.out.println("Welcher Ordner");
		this.eingabe=br.readLine();
	}
	public boolean accept(File arg0, String arg1) {//accept methode die prüft ob das File mit einem bestimmten String"arg1" siche beendet
		//falls ja gibt die true
		if(arg0.getName().endsWith(arg1)){
			return true;
		}
		return false;
	}
	public void textDateien() throws IOException{// die methode die verarbeitet alles  
		
	Reader reader=null;
		int zaehler=0;
		StringBuilder ausgabe=new StringBuilder();//die ausgabe die am ende gezeigt werden wird
		File fin = new File(this.eingabe);//das verzeichniss ,drin suchet das programm txt dateien		
		for (File f : fin.listFiles()) {//solange es dateien mit ende txt gibt
			if(accept(f,".txt")){
				 reader = new FileReader( f );
				 int read=reader.read();
				 while(read!=-1)
					 ausgabe.append((char)read);
					 read=reader.read();
				 } 
			}
		
		FileOutputStream schreibeStrom = new FileOutputStream(this.eingabe+File.separator+"zusammenfassung.txt");//neues datei erstellen  drin wird den Stringbuilder
		//gespeichert und nachher geschlossen um angelegt
		 for (int i=0; i < ausgabe.length(); i++){
		      schreibeStrom.write((byte)ausgabe.charAt(i));
		    }
		    schreibeStrom.close();
	}		
	public static void main (String...args) throws IOException{
		TextFilter2 test= new TextFilter2();
		test.eingabeBekommen();
		test.textDateien();
	}

}
 

zerix

Mitglied
Das liegt nicht direkt an deinem Programm.
Es liegt daran, dass die VM default maximal nur 64 MB RAM verwendet und wenn du Dateien einliest die größer sind, kommt dieser Fehler.
Also wenn es wirklich sein muss, dass du die Dateien komplett in den Speicher liest, musst du den Speicher der VM erhöhen.
Das tust du so
Code:
-Xmx128m

Hier steht die 128 für die Größe und m für die Einheit hier MB.

Gruß

zerix
 

bafl13

Mitglied
Das liegt nicht direkt an deinem Programm.
Es liegt daran, dass die VM default maximal nur 64 MB RAM verwendet und wenn du Dateien einliest die größer sind, kommt dieser Fehler.
Also wenn es wirklich sein muss, dass du die Dateien komplett in den Speicher liest, musst du den Speicher der VM erhöhen.
Das tust du so
Code:
-Xmx128m

Hier steht die 128 für die Größe und m für die Einheit hier MB.

Gruß

zerix
und wo schreibe ich diese zeile??:)
 

zerix

Mitglied
Das ist ein Argument für die VM. Wenn du von der Konsole aus startest
Code:
java -Xmx128m deineclass

Bei Eclipse kannst du es bei den Run-Configurations angeben und bei Netbeans bei den Projekt-Properties unter Run.

Gruß

zerix
 

bafl13

Mitglied
Das ist ein Argument für die VM. Wenn du von der Konsole aus startest
Code:
java -Xmx128m deineclass

Bei Eclipse kannst du es bei den Run-Configurations angeben und bei Netbeans bei den Projekt-Properties unter Run.

Gruß

zerix

Eigentlich es hat nicht funktioniert mit diesem Befehl leider:) aber ich habe bemerkt dass meine Whileschlafe endlos ist deswegen hat es immer dasselben Wert eingelesen :) Aber vielen vielen Dank zerix;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Möglichkeit regelmäßige indentation mittels/innerhalb Stringbuilder Allgemeine Java-Themen 14
Thallius Merkwürdiges StringBuilder verhalten (Char Encoding) Allgemeine Java-Themen 6
V Stringbuilder zickt rum? -> Eclipse Allgemeine Java-Themen 12
W StringBuilder effektiv auf OutputStream schreiben Allgemeine Java-Themen 3
A Problem mit StringBuilder delete - find den Fehler nicht Allgemeine Java-Themen 9
T String vs StringBuilder vs StringBuffer Allgemeine Java-Themen 8
G Optimierung StringBuilder Allgemeine Java-Themen 9
Escorter StringBuilder automatisch? Allgemeine Java-Themen 7
P StringBuffer, StringBuilder und StringWriter Allgemeine Java-Themen 4
D StringBuilder kaputt? Allgemeine Java-Themen 2
Y StringBuilder vs. Stringverkettung Allgemeine Java-Themen 61
G wieso wird der String des StringBuilder immer länger? Allgemeine Java-Themen 2
G StringBuilder Allgemeine Java-Themen 4
W Jar-File Start nur über Terminal Allgemeine Java-Themen 13
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
D Read JSON File Problem Allgemeine Java-Themen 9
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
C jar File mehrfach aufrufen (als Windows Dienst) Allgemeine Java-Themen 5
N File Path mit Variablen angeben Allgemeine Java-Themen 1
izoards Zugriff auf gemeinsame Ressource (CSV-File) Allgemeine Java-Themen 3
S Class File Editor -> Source not found Allgemeine Java-Themen 4
F jar File ausführen Allgemeine Java-Themen 14
M File Binary Representation Allgemeine Java-Themen 1
N jar File auf Mac mit Doppelklick starten Allgemeine Java-Themen 5
O Input/Output java.io.File beenden Allgemeine Java-Themen 5
G File not found - nach dem Kompilieren Allgemeine Java-Themen 6
T Jar File zu exe... Allgemeine Java-Themen 3
M Foreign Memory API / Memory-Mapped File Allgemeine Java-Themen 0
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
S File lesen und schreiben Java 6 Allgemeine Java-Themen 2
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
F Input/Output FileNotFoundException, obwohl File existiert Allgemeine Java-Themen 5
G Excel File öffnen, in Zelle schreiben, abspeichern Allgemeine Java-Themen 6
L JAR-File auf Ilias (LMS) laufen lassen Allgemeine Java-Themen 0
ralfb1105 Classpath Directory fuer Properties File Allgemeine Java-Themen 2
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
A File lesen Codierung Charset Allgemeine Java-Themen 5
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
M Key-File im selben Ordner speichern? Allgemeine Java-Themen 18
I TrueZip add file to archive Allgemeine Java-Themen 10
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
J ftp - delete file ohne appache Allgemeine Java-Themen 8
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
T ImageIO.read -> Can`t read input file Allgemeine Java-Themen 11
L Applet Problem "security: Trusted libraries list file not found" ? Allgemeine Java-Themen 7
C Swing File[] als klickbare links in irgendeinem Swing Element Allgemeine Java-Themen 3
H Kennt sich jemand mit Eclipse und dem Thema Jar-File aus ? Allgemeine Java-Themen 6
H Laden einer (Resourcendatei) aus einem Jar-File Allgemeine Java-Themen 17
C Authentifizierung mit java.nio.file? Allgemeine Java-Themen 5
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
offi Drag and Drop mehrerer File aus Explorer in JTable Allgemeine Java-Themen 1
G Java/LibGDX File Loading Exception Allgemeine Java-Themen 2
Cromewell JavaFX FXML-File lädt unter Ubuntu nicht Allgemeine Java-Themen 7
D Java Anwendung mit dll File Allgemeine Java-Themen 5
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
thet1983 Input/Output read properties file from classpath Allgemeine Java-Themen 3
J Umwandeln von URL zu File und danach kopieren geht nicht Allgemeine Java-Themen 1
J Properties file ändern Allgemeine Java-Themen 12
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
B Objekte anhand von Properties file Allgemeine Java-Themen 41
Dechasa Input/Output Write into File Allgemeine Java-Themen 2
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
H Security Manager (IIOException: Can't read input file!) Allgemeine Java-Themen 2
H File.listFiles() funktioniert nicht... Allgemeine Java-Themen 10
C Input/Output Problem bei Datei verschiebung mit File.move und Paths.get() Allgemeine Java-Themen 26
X Zeile unter einer bestimmen Zeile hinzufügen(File) Allgemeine Java-Themen 1
F Open source file übersetzen Phython -> Java Allgemeine Java-Themen 4
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
M Desktop jar File icon Ändern? Allgemeine Java-Themen 14
O Sax-Parser ließt XML-File doppelt Allgemeine Java-Themen 1
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
Thallius Custom File Chooser Allgemeine Java-Themen 1
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
J Java Download Filedownload File.getFileName Allgemeine Java-Themen 3
R Java .class-File-Konstrunkt mit Programm visualisieren Allgemeine Java-Themen 18
G SecurityManager/Policy-File/Reflection Allgemeine Java-Themen 0
M pdf File bzw. ausgefüllte pdf Formulare drucken Allgemeine Java-Themen 2
S Input/Output File Not Found FileReader Allgemeine Java-Themen 6
Thallius Serialisiertes File kann auf anderem Rechner nicht geladen werden Allgemeine Java-Themen 12
P Java Dynamic Web Project -> config File Allgemeine Java-Themen 1
S runnable jar file in Verbindung mit itext Allgemeine Java-Themen 3
D Variablen java.io.File zum vergleichen abspeichern Allgemeine Java-Themen 1
M File IO Klasse ... wie einbinden Allgemeine Java-Themen 6
O Freies Tool zum Jar-File obfuscaten gesucht! Allgemeine Java-Themen 5
F File.listFiles ohne .sort Allgemeine Java-Themen 6
B XML File JAXB Allgemeine Java-Themen 0
S Platzverbrauch, File oder String Allgemeine Java-Themen 14
J Runnable jar-File: Fehlermeldung Allgemeine Java-Themen 2
P Kurze Frage: aus einer File die Zeilenanzahl auslesen Allgemeine Java-Themen 9
K Gepacktes Jar-File gibt beim Doppelklick eine Exception aus Allgemeine Java-Themen 4
P java.nio.file unter Java 6 verwenden Allgemeine Java-Themen 4
A TXT File einlesen unterschiedliche Zeilenlänge Allgemeine Java-Themen 9
B Finde letztes veränderte File Allgemeine Java-Themen 4
E Zip-File entpacken: unterschiedlicher Zeitaufwand bei unterschiedlicher Puffergröße Allgemeine Java-Themen 2
Guybrush Threepwood File.canWrite() und UAC Allgemeine Java-Themen 7
N Input/Output Mit Windows 7 erzeugtes zip-File in Java 7 öffnen Allgemeine Java-Themen 5
B Garbage Collection Logfile: Binary File Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben