Avatar billede emileej Nybegynder
24. juni 2002 - 18:17 Der er 12 kommentarer og
1 løsning

Fil læsning fra applet

Jeg ved godt at en applet ikke kan læse filer fra klientens computer, og det er skam heller ikke det jeg vil prøve på.
Jeg vil bare have min applet til at læse nogle tekstfiler fra den mappe den ligger på, på serveren, samt fra en under mappe til denne mappe...
Hvorledes gør jeg det? (Eksempler gør det hele nemmere - jeg er dum som en dør)

E-)mil
http://mfp.eej.dk
Avatar billede soreno Praktikant
24. juni 2002 - 18:54 #1
et stk. eksempel på læsning og skrivning til fil:
import java.io.*;
import java.util.*;

public class Main
{
    public static void main(String args[])
    {
        BufferedReader in;
        PrintWriter out;
       
        try
        {
            //true afgører at der skal appendes istedet for at oprette ny fil.
            out = new PrintWriter(new BufferedWriter(new FileWriter("data.log", true)));
            Calendar calendar = Calendar.getInstance();
            String temp = "" + calendar.get(Calendar.HOUR);
            temp = temp + ":" + calendar.get(Calendar.MINUTE);
            temp = temp + ":" + calendar.get(Calendar.SECOND);
           
            for(int i=0;i<5;i++)
                out.println("[" + temp + "] hello world");
            out.close();
           
            //read file
            in = new BufferedReader(new FileReader("data.log"));
            while(in.ready())
            {
                System.out.println(in.readLine());
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }       
    }
}
Avatar billede emileej Nybegynder
24. juni 2002 - 19:30 #2
Jeg bruger en FileInputStream der får jeg en "acces denied" af Forte udviklingsmiljøet - er du sikker på at man ikke får det af dit eksempel?
Avatar billede soreno Praktikant
24. juni 2002 - 19:48 #3
som standalone fungere koden ok, jeg har dog ikke prøvet at integrerer koden i en applet.
Avatar billede olly Nybegynder
24. juni 2002 - 19:51 #4
Kan det have noget at gøre med at et applet som standart ikke kan få lov at tilgå disken? Hvilken browser og os?
Avatar billede jakoba Nybegynder
24. juni 2002 - 19:59 #5
en apllet ligger og bliver udført på brugerens computer. den kan hente filer fra serveren via http, men for at skrive en fil til serveren skal der nok være noget programmel på serveren til at tage imod og foretage den egentlige skrivning.
Avatar billede olly Nybegynder
24. juni 2002 - 20:01 #6
UPS! Jeg trækker min kommentar.. Jeg havde ikke læst ordentlig... ;)
Avatar billede ascii Nybegynder
24. juni 2002 - 20:57 #7
Denne metode læser en fil fra din disk.. Kald metoden hvor du vil...

public void laes()
  {
            try
    {
                String separator = System.getProperty("file.separator");
          StringBuffer sb = new StringBuffer();
                BufferedReader br = new BufferedReader(new FileReader(separator+"C:\\din_fil"));
          sb.append(s);
                  if ((s = br.readLine()) != null)
                    {
                        sb.append(s);
                    }
          System.out.println("Text: "+sb.toString());
    }
        catch( IOException e )
                {

                    System.out.println("e="+e);
            }
    }

Indholdet ligger i s
Avatar billede ascii Nybegynder
24. juni 2002 - 20:58 #8
Den virker med sikkerhed, da jeg selv bruger den lokalt og på klienter. Anvender Certifikat...
Avatar billede cyberzed Nybegynder
24. juni 2002 - 21:26 #9
Mindes jeg har hørt noget om at java.io ikke er tilgænglig i Applets
Avatar billede emileej Nybegynder
25. juni 2002 - 08:20 #10
Ser ud til at i alligevel misforstod mit spørpsmål...
Jeg skal læse en fil fra den mappe, som apletten ligger på - på serveren - IKKE fra klientens computer!
Jeg kan sagtens loade billeder fra den mappe, som apletten ligger i på serveren UDEN at skrive hele http url'en.
En applet har under ingen omstendigheder adgang til java.io - jeg leder efter et tilsvarende library til applets, der opererer i applettens mappe på serveren...
Hvis det ikke er muligt for appletten at læse en fil fra egen mappe, vil jeg i stedet (I YDERSTE NØDSTILFELDE) have et eksempel på en applet der udfører et http post (helst post - get kan også bruges) kald.
Avatar billede emileej Nybegynder
27. juni 2002 - 13:04 #11
Det er der ikke nogen der kan finde ud af?
Avatar billede emileej Nybegynder
30. juni 2002 - 10:46 #12
Jeg har fundet en løsning fra bogen "Java 2 bible" - den er således ud:

BufferedInputStream in;
            //PlainTextInputStream in;
            try{
                URL url=new URL(getCodeBase()+Filename);
                in=(BufferedInputStream)url.getContent();
            }catch(IOException e){
                        System.err.println(e);
            }
Problemet er bare at jeg får en
java.lang.ClassCastException: sun.net.www.content.text.PlainTextInputStream
Selvom jeg har gjort nøjagtigt som i eksemplet...

E-)mil
http://mfp.eej.dk
Avatar billede emileej Nybegynder
01. juli 2002 - 11:33 #13
Hmm - opretter et nyt spørgsmål, da jeg jo har svaret på hvordan man læser fra en applet. Mit nye spørgsmål vil så omhandle mit problem med eksemplet fra bogen...
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

IT-JOB