PDA

Visualizza la versione completa : (java) InputStream


abcd1000
12-12-2003, 11:37
Ho un file di testo, vorrei ricavare una variabile di tipo InputStream che punta a questo file.
Come posso fare?
Ho provato la seguente linea di codice:

InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsSt ream(fileName);

Funziona ma avrei bisogno di un codice analogo ma che usi anche il path di dove si trova il file, ho provato così ma non funziona

InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsSt ream(path + fileName);

Dove path = c:/progetti/
fileName = Pippo.txt

Zero-2
12-12-2003, 14:51
InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsSt ream(path + fileName);

Perchè non ti funziona??
Che errore ti da??

Zero-2
12-12-2003, 15:07
public static InputStream getSystemResourceAsStream(String name)

Open for reading, a resource of the specified name from the search path used to load classes.

The search order is described in the documentation for getSystemResource(String).


La root di ricerca per il file è la directory in cui si trova la classe.
Nel tuo caso se provi a mettere il file in una sottodirectory di progetti , ad esempio prova, e scrivi come path "prova/"
il tutto funziona , mentre se scrivi "c:/progetti/prova/" non funziona.

:ciauz:

abcd1000
12-12-2003, 15:24
Non riesco a risolvere la cosa

Praticamente ho un'applicazione java di cui ho fatto un file jar
Questo file jar deve accedere ad un file di testo che si trova nella stessa directory in cui si trova il jar
Come faccio ad avere un riferimento a questo file per poterci scrivere e leggere?

Zero-2
12-12-2003, 18:00
Prova con un FileInputStream .
Con i jar non ho dimestichezza :stordita: :stordita: :stordita:

tridi9
12-12-2003, 19:10
credo che se non specifichi il percorso cerchi direttamente nella stessa directory in cui si trovano le classi dentro il .jar ..

Loading