Visualizzazione dei risultati da 1 a 2 su 2

Discussione: ServletOutputStream...

  1. #1

    ServletOutputStream...

    Ciao a tutti,
    qual'è la differenza tra il metodo print (o println) e il metodo write della classe ServletOutputStream?Cioè quando è conveniente usare l'uno piuttosto che l'altro? C'è differenza di prestazioni tra i due?
    So bene che il write prende come argomenti solo un array di byte mentre print prende le String e i tipi semplici (int, float, boolean), ma dal momento che passare da String ad array di byte e viceversa è abbastanza semplice, quando è conveniente l'uso di print o di write?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: ServletOutputStream...

    Originariamente inviato da aironeangelo77
    qual'è la differenza tra il metodo print (o println) e il metodo write della classe ServletOutputStream?Cioè quando è conveniente usare l'uno piuttosto che l'altro? C'è differenza di prestazioni tra i due?
    So bene che il write prende come argomenti solo un array di byte mentre print prende le String e i tipi semplici (int, float, boolean), ma dal momento che passare da String ad array di byte e viceversa è abbastanza semplice, quando è conveniente l'uso di print o di write?
    A dire il vero ServletOutputStream andrebbe usato solo per scrivere dati "binari", non per testo in generale.
    I print/println di ServletOutputStream infatti non fanno un "buon" lavoro con i caratteri, visto che ne considerano solo la parte bassa (gli 8 bit meno significativi) e usano il write() che scrive 1 byte. I print/println vanno bene ma solo in casi limitati dove, guarda caso, l'encoding della pagina è ISO-8859-1 per cui caratteri 0x00nn vanno bene.

    Se vuoi scrivere caratteri che possono essere codificati appropriatamente, dovresti usare il PrintWriter che ti fornisce getWriter() dell'oggetto response.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.