Nwlapcug.com


Come convertire ServletInputStream FileInputStream

Il linguaggio di programmazione Java è object-oriented. Gli oggetti sono entità astratte che possiedono uno stato e un comportamento, e sono costruiti dalla classe blueprint-come. Uno dei vantaggi di linguaggi object-oriented è che essi consentono di costruire su classi precedentemente scritte del software utilizzando l'ereditarietà. Due diverse classi che ereditano la stessa classe di base possono essere utilizzate per convertire facilmente da una classe a altra. Ad esempio, il ServletInputStream e FileInputStream entrambi ereditano la classe InputStream. È possibile convertire i dati da un flusso a altro trattando queste classi come loro classe padre, InputStream.

Istruzioni

1

Caricare il NetBeans IDE facendo clic sulla sua icona di programma. Quando viene caricato il programma, passare al "New/New Project" e selezionare "Applicazione Java" dall'elenco sul lato destro dello schermo. Verrà visualizzata la finestra di un nuovo file di codice sorgente nell'editor di testo di NetBeans. File di codice sorgente contiene un metodo principale vuoto.

2

Aggiungere le seguenti righe al metodo principale. Queste linee tentano di aprire un file utilizzando un blocco "try/catch". Se c'è un errore, il programma sarà interrotta e genera un'eccezione. Scrivere il codice seguente all'interno delle parentesi graffe del metodo main:

try
{
FileInputStream fis = new FileInputStream("filename.txt");
convertStreams(fis);
}
catch(Exception e) {}
3

Creare un nuovo metodo di fuori delle parentesi graffe del metodo principale. Questo metodo permette di convertire qualsiasi classe che eredita la classe InputStream, come ServletInputStream e FileInputStream. Scrivere la firma del metodo seguente:

public static void convertStreams(InputStream in)

{}

4

Creare un blocco "try/catch" all'interno delle parentesi graffe del metodo "convertStreams." Questi lasciare vuoto per ora, in questo modo:

provare
{}
catch (Exception e) {}

5

Creare un oggetto "StringBuilder" all'interno del blocco "try" e il nome "buffer." Questo archivio i dati trovati nell'oggetto InputStream classe e ti visualizzerà esso alla console, o in un altro flusso.

StringBuilder buffer = new StringBuilder();6

Dichiarare una variabile integer che vi aiuterà a leggere l'oggetto InputStream. Il metodo di "leggere" della classe InputStream restituisce un valore maggiore di -1 quando ci sono più caratteri nel flusso. È possibile verificare il valore del carattere utilizzando la seguente variabile integer:

int ch;7

Creare un ciclo "while" che scorre fino a quando non ci sono caratteri nel flusso. È possibile verificare l'output del metodo "leggere" come questo:

while ((ch = in.read()) > -1)
{}
8

Aggiungere caratteri trovato nel flusso per la variabile "buffer", inserendo la seguente riga all'interno delle parentesi graffe di while loop:

buffer.append((char)ch);9

Chiudere il flusso da scrivere la seguente riga di codice subito dopo il ciclo "while":

in.close();10

Stampare il contenuto di InputStream alla finestra di console di output scrivendo la seguente riga di codice:

System.out.println(buffer.toString());11

Premere il tasto "Play" verde per eseguire il programma. Un "FileInputStream" viene creato e aperto un file denominato "nomefile. txt." Questo flusso viene passato a un metodo che prevede un "InputStream" e vengono stampati tutti i caratteri nel file. È possibile passare qualsiasi classe che eredita "InputStream," ad esempio "ServletInputStream."