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

    Dirigere la System.out su una stringa

    Ciao a tutti!!!


    Come faccio a dirigere la System.out su una stringa???
    http://www.myspace.com/lacerhate

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

    Re: Dirigere la System.out su una stringa

    Originariamente inviato da ddr.house
    Come faccio a dirigere la System.out su una stringa???
    'out' è poi semplicemente un campo static di System. Il campo non lo puoi cambiare direttamente, devi usare setOut(PrintStream out).
    La questione quindi è solo quella di creare un PrintStream su cui mandare l'output scritto su System.out.
    PrintStream può scrivere su un file o in generale su un OutputStream (vedi documentazione suoi costruttori). Scartando la scrittura su file, rimane l'uso di un OutputStream. Che però è "orientato" ai byte ... non ai caratteri (e nemmeno String!).

    Una soluzione potrebbe essere quella di creare un ByteArrayOutputStream da passare al PrintStream. Quindi tutto quando si accoda nel ByteArrayOutputStream e poi quando vuoi, prendi il buffer di byte e ne crei una stringa. Unica questione: il charset!! ByteArrayOutputStream non "sa" nulla di caratteri e charset ... accoda solo byte. Dei caratteri/charset lo "sa" il PrintStream, quindi devi creare il PrintStream con un charset che possibilmente non faccia "perdere" nulla (es. UTF-8 o UTF-16). Il charset lo sai tu ... quando ricrei un String dal byte[] usi lo stesso charset.
    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.