Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-05-2007, 10:30   #1
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
[Java] System.out

Ciao, volevo sapere se era possibile "clonare" il System.out.

Cioè vorrei che quando viene invocata : System.out.println("Stringa");

Mi scriva sia sullo standard output (console) che su un mio File.

Grazie.
spv42 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2007, 10:56   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da spv42 Guarda i messaggi
Ciao, volevo sapere se era possibile "clonare" il System.out.

Cioè vorrei che quando viene invocata : System.out.println("Stringa");

Mi scriva sia sullo standard output (console) che su un mio File.
Sì, è possibile.

Ecco un esempio:
Codice:
import java.io.*;

public class Prova
{
    public static void main (String[] args)
    {
        try
        {
            FileOutputStream fos = new FileOutputStream ("unfile.txt");

            DupOutputStream dupos = new DupOutputStream (System.out, fos);

            PrintStream ps = new PrintStream (dupos);

            System.setOut (ps);

            System.out.println ("Questa stringa va sullo standard-output e sul file!");

            ps.close ();
        }
        catch (Exception e)
        {
            e.printStackTrace ();
        }
    }
}


class DupOutputStream extends OutputStream
{
    private OutputStream one;
    private OutputStream two;

    public DupOutputStream (OutputStream one, OutputStream two)
    {
        this.one = one;
        this.two = two;
    }
    
    public void close () throws IOException
    {
        one.close ();
        two.close ();
    }

    public void flush () throws IOException
    {
        one.flush ();
        two.flush ();
    }
    
    public void write (int b) throws IOException
    {
        one.write (b);
        two.write (b);
    }

    public void write (byte[] b) throws IOException
    {
        one.write (b);
        two.write (b);
    }

    public void write (byte[] b, int off, int len) throws IOException
    {
        one.write (b, off, len);
        two.write (b, off, len);
    }
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2007, 11:17   #3
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
Grazie,

Ancora.
spv42 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2007, 12:26   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quello di cui non sono sicuro è la ps.close(), se è giusto farla o meno (o fare diversamente).
Facendola, vengono chiusi i due stream (del file e del System.out originale).
Chiudere lo stream relativo al file è corretto e sacrosanto. Non so se chiudere il System.out originale va bene.

Magari alla fine si potrebbe rimettere tutto a posto, cioè salvare all'inizio il System.out originale e alla fine ripristinarlo e quindi chiudere solo lo stream del file.

Sono un testone .... ho il libro "Java I/O" a casa, non l'ho ancora letto tutto tutto ma è meglio se lo rileggo bene!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
SpaceX sta per rimuovere il braccio di a...
Sony a ISE 2026: display, soluzioni imme...
Sony punta sull'IA: brevettati i podcast...
Logitech G Astro A50, le cuffie gaming d...
Lenovo a ISE 2026: smart collaboration, ...
GeForce RTX 5000 SUPER cancellate e RTX ...
Substack conferma violazione: esposti da...
L'IA costa caro. Oracle punta a raccogli...
OpenAI lancia Frontier: il cervello cent...
Questo robot aspirapolvere lava sempre c...
Il PC non si avvia? ASRock invita a cont...
8 smartphone Android in forte sconto su ...
Samsung House apre a Milano: la casa tec...
Broadcom esclude i cloud provider pi&ugr...
Allerta sicurezza per n8n: come protegge...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v