Avatar billede shj Nybegynder
23. april 2000 - 22:01 Der er 1 kommentar og
1 løsning

Find og skriv på bestemt position i txt fil

Hej med jer....
Jeg ville lige høre om der var nogender kunde guide mig på vej i mit lille fil håndterings projekt. Jeg har fundet ud af hvordan man gennemlæser en fil charfor char, jeg kan også checke på en bestemt char for derefter at reagere på det.
Ideen er at jeg f.eks ville konvertere filer så de indeholder æ ø og å.
Hvordan læser jeg den aktuelle position i en txt fil. Jeg anvender FileReader og FileWriter klasserne.
kode med kommentar er vedlagt.



import java.io.*;

public class filio {
  public static void main(String[] args) throws IOException {

  File inputFile = new File("Simon.txt");
  File outputFile= new File("Simon.txt");
  FileReader in = new FileReader(inputFile);
  FileWriter out = new FileWriter(outputFile);
   
    int c;
    char sh ='s'; 
        while ((c = in.read()) != -1) //Hvor skal betingelsen være "ikke lig -1"?
   
          //kode så jeg hele tiden har styr på positionen i filen.
          //et eller andet med antal byte læst. 
          minvariabel= in.position; //noget i den retning måske?
              if((char) c  == sh) {
           
                    System.out.println((char) c );
                    out.write("et eller andet"); skriv en char ind på en given position i filen.
   
              } 
        in.close(); 
        out.close();
  }
}

Håber en eller anden har rodet med emnet før!
Avatar billede shj Nybegynder
23. april 2000 - 22:27 #1
Har selv løst den med denne redigerede version:
import java.io.*;

public class filio {
  public static void main(String[] args) throws IOException {

  File inputFile = new File("Simon.txt");
  File outputFile= new File("Simonkon.txt");
  FileReader in = new FileReader(inputFile);
  FileWriter out = new FileWriter(outputFile);
    int c;
    char sh ='‘'; 
      while ((c = in.read()) != -1)
       
     
        if((char) c  == sh) {
       
          System.out.println((char) c + "Det virker");
          out.write("a");
      }
      else {
      out.write(c);

      }
        in.close();
       
        out.close();
  }
}
Men jeg ville gerne have en kommentar til koden fra jer, hvordan med formatering, i c++ bruges også streams til io. der kan man bruge nogle indbyggede formatter til indrykning af ord osv. findes der noget lignende i java.
Avatar billede lynggaard Nybegynder
10. juni 2000 - 00:24 #2
Prøv at kigge på klassen java.io.RandomAccessFile

der kan du bruge metoden getFilePointer()

mvh
Henrik
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester