Avatar billede neuro Nybegynder
06. marts 2003 - 23:05 Der er 13 kommentarer og
2 løsninger

I/O - Læs, skriv fil.

Hej,

Jeg er rimelig grøn mht. udvikling i Java, så jeg har lige et par spørgsmål.

Jeg vil lave en Java Applet, som skal kører i IE 5.5+ og Mozilla 6.0+. Min applet skal kunne læse og skrive en fil, som ligger gemt lokalt hos brugeren på C:/. Er der nogen problemer i at gøre det mht. sikkerhed osv. ??

Mit andet spørgsmål går så på, er der nogen der har nogle gode tutorials til hvordan man læser og skriver filer i Java ??

På forhånd tak.

// NeuRo
Avatar billede viht Nybegynder
07. marts 2003 - 00:00 #1
Well, mht. til appletter så mener jeg ikke du kan arbejde med filer uden et certifikat. Men få fat i arne_v eller en af de andre applet-dinosaurer til at hjælpe dig med det ;)

Mht. læsning og skrivning af filer er det supernemt:

    public byte[] readFile(File file) throws IOException, FileNotFoundException {
       
        RandomAccessFile raf = new RandomAccessFile(file, "r");
          if( raf.length() > Integer.MAX_VALUE )
            // fil for stor
        byte[] result = new byte[ (int) raf.length() ];
        raf.read( result );
        raf.close();
        return result;
    }

Skrivning:
byte[] data...
FileOutputStream stream = new FileOutputStream(file);
        stream.write(data);
        stream.close();
Avatar billede neuro Nybegynder
07. marts 2003 - 10:50 #2
Jeg har fået hentet Java SDK ned, og der skulle det være muligt at genere et certifikat, som kan bruges midlertidigt under udviklingen.

Men hvordan generer jeg dette certifikat?????
Avatar billede viht Nybegynder
07. marts 2003 - 10:56 #3
Jeg kender som sagt ikke så meget til appletter, men jeg kunne forestille mig det er det samme som når man signerer en jar fil. Det gør du med Suns
værktøj jarsigner:
http://java.sun.com/docs/books/tutorial/jar/sign/signing.html
Avatar billede magoo20000 Nybegynder
07. marts 2003 - 10:59 #4
En Java applet der vil til gå lokal diske etc. skal signes. Dette kan man selv gøre, men så kommer der til at stå \"test sign\". Du kan evt. finde en applet som allerede er signet eller en anden activeX component der gør det samme og er signet. Er det noget, der virkelig skal bruges af andre eller er det noget du bakser med for sjov?
Avatar billede magoo20000 Nybegynder
07. marts 2003 - 11:04 #5
Nu ved jeg ikke, hvad du vil læse fra (TextArea?), når du skriver, men her er et ex. i relation til gui komponenter.

import javax.swing.*;
import java.io.*;

public class SkrivTilFil{

public void skrivFil (JTextArea tekst, String filnavn){
    try{
        PrintWriter fil = new PrintWriter(new FileOutputStream(filnavn),true);
        fil.print(tekst.getText());
        fil.close();
    }
   
    catch(IOException i){
        tekst.setText("IO-error"+ i.getMessage()+"\n");
        i.printStackTrace();
    }
  }//end method
 
public void laesFil (JTextArea tekst, String filnavn){
      try{
          BufferedReader bufferedReader = new BufferedReader(new FileReader(filnavn));
          String linie = bufferedReader.readLine();
          while(linie != null){
              tekst.append(linie+ "\n");
              linie = bufferedReader.readLine();
          }
          bufferedReader.close();
      }
      catch(FileNotFoundException e){
          tekst.setText("Filen blev ikke fundet "+e.getMessage()+"\n");
          e.printStackTrace();
      }
     
      catch(IOException e){
          tekst.setText("IO-fejl "+e.getMessage()+"\n");
          e.printStackTrace();
      }
  }//end method
}//end class
Avatar billede neuro Nybegynder
07. marts 2003 - 11:08 #6
Tusind tak .. Jeg har styr på hvordan jeg koder selve min applet nu. Men det jeg ikke helt kan få til at virke er signingen af min applet. Hvordan gør jeg det? Jeg synes ikke jeg kan få den "jarsigner" til at virke - og den er vel også kun til jar filer?
Avatar billede magoo20000 Nybegynder
07. marts 2003 - 11:12 #7
Ang. signing, så se her: http://developer.java.sun.com/developer/technicalArticles/Security/Signed/

Der står en del til at få en igang samt er der eksempler!
Avatar billede neuro Nybegynder
07. marts 2003 - 11:36 #8
den vil bare ikke signe min jar fil.... :( hvad gør jeg forkert???

C:\j2sdk1.4.1_02\bin>jarsigner -keystore javastore -storepass liquid2 -keypass liquid1 -signedjar regkey.jar regkey.jar signFiles
Exception in thread "main" java.lang.InternalError: jzentry == 0,
jzfile = 9853384,
total = 3,
name = regkey.jar,
i = 1,
message = couldn't read LOC header
        at java.util.zip.ZipFile$2.nextElement(ZipFile.java:321)
        at sun.security.tools.JarSigner.getManifestFile(JarSigner.java:978)
        at sun.security.tools.JarSigner.signJar(JarSigner.java:516)
        at sun.security.tools.JarSigner.run(JarSigner.java:139)
        at sun.security.tools.JarSigner.main(JarSigner.java:53)
Avatar billede neuro Nybegynder
07. marts 2003 - 11:38 #9
ifølge den tutorial jeg fik af magoo20000, så skal brugeren importerer en keystore for at det vil virke .. og det er jeg ikke interesseret i ... når brugeren går ind på siden med min applet, skal den bare poppe up og spørge om man vil "Truste bla bla bla....", og klikker man "Ja", så virker min applet.
Avatar billede magoo20000 Nybegynder
07. marts 2003 - 11:54 #10
Hmmm.. Søgte her på eksperten, men fandt kun http://www.eksperten.dk/spm/209658
Prøver lige at lede efter noget, der kan hjælpe dig.. Jeg kender ikke til fejlen!
Avatar billede neuro Nybegynder
07. marts 2003 - 11:55 #11
har fået signingen til at virke.
Avatar billede magoo20000 Nybegynder
07. marts 2003 - 12:01 #12
Avatar billede neuro Nybegynder
07. marts 2003 - 12:47 #13
tak for svarene .. har fundet det jeg søger :) top karakter til jer!
Avatar billede magoo20000 Nybegynder
07. marts 2003 - 12:56 #14
1000 tak!
Avatar billede viht Nybegynder
07. marts 2003 - 17:35 #15
Tak skal du have :D
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