Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA] Passaggio array byte

    Io devo passare ad un applet un array di byte (che poi sarebbe il contenuto di un file).
    per passarlo lo passo normalmente come ogni parametro:
    <PARAM name="buf" value="<%=buf%>">
    mentre per prenderlo all'interno dell'applet come faccio??

    ho provato così ma mi da dei caratteri indecifrabili!
    byte[] buf = getParameter("buf").getBytes();

    Grazi in anticipo
    I ricordi sono spine in fondo al cuore. .:N:.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Io ho provato in questo modo e funziona su windowsXP
    codice:
    String str = getParameter("buf");
    byte[] b = str.getBytes();
    for(int i=0; i<b.length; i++)
    	System.out.println((char)b[i]);
    tu su che piattaforma lo stai provando?
    Ciao,
    Lorenzo

  3. #3
    window 2000!
    Il mio problema è che devo portare un file da server sulla macchina locale quindi sul server faccio questo:

    File srcfile = new File("c:\\"+nameFile);
    src = new FileInputStream(srcfile);
    int length = (int) srcfile.length();
    buf = new byte[length];
    src.read(buf, 0, length);

    poi apro l'applet con il passaggio di parametri
    e nell'applet faccio questo..

    String fileName = getParameter("nome");
    String fpath = "c:\\"+fileName;
    byte[] buf = getParameter("buf").getBytes();

    String dstname = fpath;
    File dstfile = new File(dstname);
    FileOutputStream dst = null;
    try{
    dst = new FileOutputStream(dstfile);
    dstfile.createNewFile();
    dst.write(buf,0,buf.length);
    dst.close();
    }catch (Exception e) {
    e.printStackTrace(System.out); }

    solo che all'interno del file mi trovo questo:
    [B@3552e7ba
    I ricordi sono spine in fondo al cuore. .:N:.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Fammi capire... tu dal server leggi il File e poi dove lo scrivi?
    Nella pagina html dell'applet?
    Oppure lo passi all'applet tramite una connessione.

    E poi scusa, le applet non possono accedere al file system del client, a meno che non siano certificate, o che il client modifichi la policy di sicurezza delle applet.

    Scusa, ma ancora non ho inquadrato bene la tua situazione.
    Ciao,
    Lorenzo

  5. #5
    la mia applet è firmata e quindi può leggere tranquillamente i file.
    io in una jsp leggo un file metto il contenuto in un array di byte che poi vorrei passare alla applet ma nn riesco a passare questo cavolo di array
    I ricordi sono spine in fondo al cuore. .:N:.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Ok... ora e' un po' piu' chiaro.
    Se hai la possibilita' di fare una servlet puoi far aprire un socket dall'applet tramite il quale passi il file.
    Questo pero' implica avere un processo in ascolto sul server.
    Non conosco JSP, magari esiste un sistema meno dispendioso per farsi passare questo file, immagino che JSP riesca ad interagire bene con un applet Java... ma sono solo supposizioni.

    Se il file e' piccolo, e solo di testo, puoi inserire il suo contenuto come hai cercato di fare tu, tra i parametri dell'applet.
    Pero' quando salvi il buffer di byte devi sempre fare un cast a (char), altrimenti e' ovvio che ti ritrovi dei numeri nel file, corrispondenti al valore ascii dei caratteri letti.

    Spero di esserti stato un po' utile.
    Ciao,
    Lorenzo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.