Zum Inhalt springen

R3laX

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

  1. R3laX

    Arraylist problem

    ja. kein wunder.. und ich mach mir son Stress.. ich habs jetzt auch gemerkt... jetzt gehts weiter.. Gott sei dank.. wenn ich nochmal eine Frage habe, und das ist bestimmt so, dann meld ich mich nochmal... Wirklich vielen dank für all eure Gedult mit mir N00bie :-)
  2. R3laX

    Arraylist problem

    Ohh jeehh ich glaub ich hab grad ein Burnout... also ich möchte eine Arrayliste erstellen die Arrays beinhaltet. Pro Array eine Zeile der Datei. So habe ich Arraylist1 ---> array[zeile1] array[zeile2] usw.... dann möchte ich noch eine arraylist erstellen mit genau dem selben Schema. Arraylist2 ---> array[zeile1] array[zeile2] usw wenn man jetzte möchte dann noch eine 3te oder 4te oder x beliebig viele eben. die arraylisten heißen genau so wie der dateipfad den ich auswähle wie ichs hier gemacht habe: String objekt; FileReader fileReader = new FileReader(new File(objekt)); String ausgabeobjekt; File out = new File(ausgabeobjekt); wenn ich damit fertig bin dann verlange ich nach dem suchstring und den ersetzstring dann führe die operationen auf beliebig viele Strings aus und überschreibe die jeweiligen Dateien. das problem ist das ich ja verschiedene dateien also arraylisten habe. Das muss doch irgendwie zu realisieren sein oder? ich weiß nciht ob das so eine gute Idee ist.. hier einmal die Aufgabenstellung: Aufgabe ------- Erstellen Sie ein Java-Programm zum Suchen und Ersetzen von Texten in Dateien. Der Aufruf soll wie folgt erfolgen: java Replace suchstring ersetzungsstring datei1 datei2 .... Zu beachten: - Suchstring und Ersetzungsstring müssen nichtleer und verschieden sein. - Es muss mindestens eine Datei angegeben sein. - Die Dateien müssen existierende normale Dateien sein. - Es muss Schreibrecht auf die Dateien bestehen. - Jede Datei ist zeilenweise zu durchlaufen. Dabei ist jeweils das Suchstring so oft es vorkommt zu ersetzen. - Überlegen Sie sich, wie Sie es hinbekommen, dass die Datei selbst wieder überschrieben wird. - Mögliche Ausnahmen sind explizit zu behandeln. ACHTUNG: Testen Sie Ihr Programm nur mit unwichtigen Dateien! ~~~~~~~~ ZUSATZ: Es sind eigene Ausnahmeklassen zu verwenden! ~~~~~~~
  3. R3laX

    Arraylist problem

    Danke dir für die schnelle Antwort. Mhh hier ist erstmal das was ich mir unter der Arrayliste vorgestellt habe.. Klappt auch ganz gut, zumindest der Ansatz. try { FileWriter ausgabe = new FileWriter(out); BufferedWriter raus = new BufferedWriter(ausgabe); // lies alle Zeile aus, bis keine mehr vorhanden sind. // falls Datei leer, überspringe diesen Programmabschnitt int zaehler = 0; ArrayList<String> liste = new ArrayList<String>(); for ( String j; (j = bufr.readLine()) != null; zaehler++ ){ System.out.println( j.replace(suchstring, ersetzungsstring) ); // schreibe in ArrayList liste.add( j ); raus.write(j.replace(suchstring, ersetzungsstring) + "\n"); } Naja das solange einlesen klappt nicht da das ja in einem Satz erledigt wird. Oder meinst du mit einer Schleife? Das Problem ist dass die Arrayliste hier oben zwar einließt aber pro Zeile, die eingelesen wird ein Array belegt. Und das abspeichern raus.write***** funktioniert nicht. Wenn ich mit Object o.... die einzelnen Strings aufrufe gibt er mir auch den geänderten Text aus. Also es funktioniert schon. Nur wie bekomme ich das aus den Strings in eine beliebige Datei gespeichert? Pro Datei eine neue ArrayList? Das ganze muss nach dem chema laufen: Datei hinzufuegen: (j/n) ----> j ---> neue arraylist1 ---->datei1 einlesen Datei hinzufuegen: (j/n) ----> j ----> neue arraylist2 --->datei2 einlesen Datei hinzufuegen: (j/n) ----> n ----> stings in erster und zweiter arryliste durchsuchen und ersetzen --- speichere und dann anstatt read jetzt write um die wörter in den jeweiligen Dateien zu ersetzen. Es sind eben zwei dateien und nicht nur eine. und es können x-beliebige sein. Ich weiß nciht wie ich das machen soll. Was meinst du mit prozeduralen Kapselung? Bin noch ein ziehmlicher Anfänger und hab wirklich lange dran gearbeitet.
  4. R3laX

    Arraylist problem

    Hallo Leute, habs dann auch mal hier her geschafft :-)... und ich scheitere schon wieder an einer Aufgabe.. Wir sollen ein Programm schreiben das x-beliebige Dateien auf ein String durchsucht und diese dann durch einen anderen Strind ersetzt. Ich hab das auch soweit gut hinbekommen. Mein Programm kann jetzt folgendes. Es fragt nach einer Datei... dann nach einer zweiten Datei naja ok nicht ganz Sinn der Aufgabe aber immerhin schon etwas. Somit funktioniert, wenn man zweimal den selben Dateipfad angibt, schonmal die Ersetzung. Es fragt einen String nachdem gesucht werden soll und nach einem String das den ursprünglichen String ersetzt. Funktioniert wunderbar!!! Jetzt mein Problem: ich schaffe es einfach nicht raus zu bekommen wie ich beliebig viele Dateien aussuchen kann. Ich denke mal das eine ArrayList das richtige wäre und hab mich wirklich mehr als durch gelesen aber ich kann es einfach nicht umsetzen.. Das einzigste was ich noch geschafft habe ist eine ArrayList zu erstellen die die Zeilen jeweils als Array beinhaltet. Aber ich glaube das war wohl Zeitverschwendung. Würde ja dann auf mehrere Arraylisten hinauslaufen bzw x-beliebig viele. Matrix? ich bitte wirklich dringends um hilfe ich kann echt nciht mehr... Hier mein Programm: import de.htw.saarland.stl.Stdin; import java.io.*; public class ReadDokument { public static void main(String[] args) throws IOException { String objekt; String suchstring; String ersetzungsstring; String ausgabeobjekt; objekt = Stdin.readlnString("Woraus soll gelesen werden?: "); ausgabeobjekt = Stdin.readlnString("Wohin soll geschreiben werden?: "); suchstring = Stdin.readlnString("Bitte Suchstring angeben: "); ersetzungsstring = Stdin.readlnString("Bitte Ersetzungsstring angeben: "); FileReader fileReader = new FileReader(new File(objekt)); BufferedReader in = new BufferedReader(fileReader); String s = in.readLine(); File out = new File(ausgabeobjekt); try { FileWriter ausgabe = new FileWriter(out); BufferedWriter raus = new BufferedWriter(ausgabe); while ( s != null) { raus.write(s.replace(suchstring, ersetzungsstring) + "\n"); System.out.println(s.replace(suchstring, ersetzungsstring)); s = in.readLine(); } //Schließe den InputStream raus.close(); ausgabe.close(); } catch (IOException e) { System.err.println(e.toString()); } in.close(); fileReader.close(); } }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...