Newsgroup: it.comp.java
Titolo: J2ME leggere file

Ciao a tutti, ho un problema con J2ME che non riesco a risolvere, ho 
necessità di leggere un file dal filesystem, sto usando CLDC 1.1 e MIDP 
2.1 con la libreria FileConnector.
Ormai ho provato tutte le soluzioni che ho trovato in rete, ma nessuna 
sembra funzionare, ho provato sia con eclipse che con la toolbar di WTK 
ottenendo lo stesso risultato.
Il codice che utilizzo è questo:
try {
	StringBuffer sb = new StringBuffer();
	FileConnection fc = (FileConnection)
				Connector.open("file:///root1/s.txt");
	InputStream in = fc.openInputStream();
	int chr;
	while ((chr = in.read()) != -1)
		sb.append((char) chr);
	System.out.println(">>>"+sb.toString()+"<<<");
	return sb.toString();
} catch (Exception e) {
	e.printStackTrace();
}
ottengo questa eccezione, ma non mi dice poi tanto
java.io.IOException:
	at com.sun.midp.io.j2me.file.Protocol.openInputStream(+39)
	at com.sun.midp.io.j2me.file.Protocol.openInputStream(+9)
	at org.lateatnight.smsReader.SmsReader.readHelpText(+23)
	at org.lateatnight.smsReader.SmsReader.<init>(+34)
	at java.lang.Class.runCustomCode(+0)
	at com.sun.midp.midlet.MIDletState.createMIDlet(+34)
	at com.sun.midp.midlet.Scheduler.schedule(+52)
	at com.sun.midp.main.Main.runLocalClass(+28)
	at com.sun.midp.main.Main.main(+80)
Il filesystem delle directory create da WTK è organizzato in questo modo
.
|-- bin
|   |-- MANIFEST.MF
|   `-- SMSReader.jad
|-- classes
|   `-- org
|       `-- lateatnight
|           `-- smsReader
|               `-- SmsReader.class
|-- lib
|-- project.properties
|-- res
|   `-- s.txt
|-- src
|   `-- org
|       `-- lateatnight
|           `-- smsReader
|               `-- SmsReader.java
|-- tmpclasses
|   `-- org
|       `-- lateatnight
|           `-- smsReader
|               `-- SmsReader.class
`-- tmplib
quello generato da Eclipse con il plugin EclipseME è il seguente
.
|-- SMSReader.jad
|-- bin
|   |-- org
|   |   `-- lateatnight
|   |       `-- smsReader
|   |           `-- SmsReader.class
|   `-- s.txt
|-- build.xml
|-- deployed
|-- lib
|-- res
|   `-- s.txt
`-- src
     `-- org
         `-- lateatnight
             `-- smsReader
                 `-- SmsReader.java
Riuscite ad aiutarmi? Dov'è che sbaglio?
Grazie a tutti
(per rispondermi in privato eliminare pippo dalla mail)

Chef Tony ha scritto:
RISOLTOOOOOOOOOOO
Oggi ero in giro per librerie e come da un po'di tempo a questa parte mi 
sono fermato a dare un'occhiata ai libri su J2ME, per una strepitosa 
botta di culo ne ho trovato uno che non avevo mai sbirciato in cui c'era 
un capitoletto di 2 pagine proprio sulla lettura dei file di cui una 
riga spiegava proprio il path in cui sistemare i file nei simulatori WTK.
Riporto qui la soluzione in modo che chiunque altro abbia da 
confrontarsi con questo problema possa impiegare meno di me a risolverlo.
In tutte le guide che ho trovato su internet (compresi quelle ufficiali) 
e nei libri precedentemente spulciati si fa riferimento alla cartella 
res all'interno del progetto come quella in cui devono starci le risorse 
accessibili all'applicazione. SBAGLIATO!!!!
La vera root del sistema si trova nella directory C:\WTK su Windows o 
~/j2mewtk su linux nella sottodirectory 
appdb/NOME_EMULATORE/filesystem/root1
Infilate qui dentro i vostri file e l'applicazione sarà finalmente in 
grado di leggerli.
Spero di poter essere utile a qualcuno prima o poi.
Ciao a tutti