mithilfe einer Java-Anwendung möchte ich den Code von JS-Files einlesen und anschließend immer einen bestimmten Teil, nämlich den, der zwischen eckigen Klammern steht ([ ]) ausgeben.
Hierzu habe ich bereits folgendes programmiert:
Java:
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStreamReader;publicclassFileReader{privateFile file;privateBufferedReader br;publicFileReader(String pathname){
file =newFile(pathname);}publicStringfileGetContent(){String buffer ="";String line ="";try{
br =newBufferedReader(newInputStreamReader(newFileInputStream(file)));while((line = br.readLine())!=null){if(line.contains("[")){///rest of the lineint ind_anfang = line.indexOf("[");StringRest= line.substring(ind_anfang);while((line = br.readLine())!=null){if(line.contains("]")){int ind_ende = line.indexOf("]");StringRest1= line.substring(ind_ende);}}}
br.close();}}catch(Exception e){System.out.println("Fehler!");}return buffer;}}
Nun weiß ich aber nicht mehr wirklich weiter und bitte deshalb um eure Hilfe.
Vielen Dank bereits im voraus!
hallo, ich möchte eine komplizierte mathematische Formel berechnen, die ich euch aber nicht verrate,
der Anfang ist noch leicht, paar mal Plus und Minus:
Java:
int x =4;int y = x + x - x;
bitte vervollständigt nun mein Programm, ohne dass ich irgendwas weiter dazu mitteilen muss
du kannst einen einfachen Substring machen, die Stellen der Klammern hast du ja schon ausgelesen.
Java:
String deinstring = line.substring(ind_anfang, ind_ende);//Alles was zwischen den Klammern steht
Mit
Java:
if(line.contains("[")){
solltest du vorsichtig sein, da das sehr fehleranfällig sein kann (Ließt dann alle Zeilen ein, welche eine Klammer beinhalten und es wird zum Compilerfehler kommen, da kein Substring generiert werden kann)
1. class FileReader wird bereits von von Java mitgeliefert, also würde ich um Namenkonflikte zu vermeiden das ganze anders nennen
2. Die Methode fileGetContent liest die Datei und parsed zugleich. Die beiden Aufgaben sollte man trennen und in zwei Methoden verteilen. Ich halte es für besser erst alles auszulesen, in einer Variablen zu speichern und anschließen zu parsen.
3. Das dein Code nicht funktionieren kann liegt daran, dass er momentan immer den leeren buffer String zurückgibt. Du musst buffer schon Wert zuweisen
probier mal das, auch wenn es kein "guter" code ist: