14. december 2000 - 00:40Der er
10 kommentarer og 1 løsning
problem med skriv til fil
Hej. Nu vil jeg ikke poste hele koden, da den er forh. lang. Grundproblemet er, at jeg vil læse to linjer fra en fil og dernæst printe dem med et ord på hver linje i en ny fil (skrive dette fil filen). Min source fil består af to linjer, således: Dette er min fil. Den har meget lidt indhold, men jeg kan kun få metoden til at skrive flg:
Dette er min fil.
så er den ikke længere selvom, teksten er længere end dette (linjen \"den har meget lidt indhold\" kommer ikke med. HVorfor ?
Jeg bruger en StringTokenizer til at sætte lig hvert ord. Koden for min metode med PrintWriter instansen ser sådan ud - og jeg kan altså ikke få den til at skrive begge linjer fra min source fil med et ord på hver sin linje.
public void omdan (String filnavn) throws IOException { inFile = new BufferedReader(new FileReader(filnavn)); String line = inFile.readLine(); outFile = new PrintWriter(new FileWriter(\"andenfil.txt\")); st = new StringTokenizer(line); while (st.hasMoreElements()) {
line = st.nextToken(); outFile.println (line); line = inFile.readLine();
} inFile.close(); // bare glem denne linje outFile.close();
Så vidt jeg lige kan se, så skal du bare læse næste linie på det rigtige sted. Prøv med: inLine = inFile.readLine(); while (inLine != \"\") { st = new StringTokenizer(inLine); while (st.hasMoreElements()) { outLine = st.nextToken(); outFile.println(outLine); } inLine = inFile.readLine(); } så skulle du vist få alle linier med.
Nu ser min metode sådan ud, men den skriver stadig kun første linje ud....
public void omdan (String filnavn) throws IOException { inFile = new BufferedReader(new FileReader(filnavn)); String line, outline; //= inFile.readLine(); outFile = new PrintWriter(new FileWriter(\"andenfil.txt\")); // laver en fil ved navn andenfil.txt
while ((line=inFile.readLine())!=null) { st = new StringTokenizer(line); while (st.hasMoreElements()) { outline = st.nextToken(); outFile.println (outline); // skriver linjerne ud til filen \"andenfil.txt\"
her er den igen, for en sikkerheds skyld.. Jeg fjernede outline, den kunne jeg ikke se skulle bruges til noget + den øverste readline .
public void omdan (String filnavn) throws IOException { inFile = new BufferedReader(new FileReader(filnavn)); String line = \"\"; //inFile.readLine(); outFile = new PrintWriter(new FileWriter(\"andenfil.txt\")); // laver en fil ved navn andenfil.txt
while ((line=inFile.readLine())!=null) { st = new StringTokenizer(line); while (st.hasMoreTokens()) { line = st.nextToken(); outFile.println (line); // skriver linjerne ud til filen \"andenfil.txt\" }
jeg håber jeg fik accepteret svaret, så du fik nogle point
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.