|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
Java stringhe
sto scrivendo un programmino java che legge da un file dei dati e me li estrae..il programma è questo (copio solo la parte principale):
Codice:
try {
FileReader reader = new FileReader(in_file);
BufferedReader buf_reader = new BufferedReader(reader);
String aula = null;
String image = null;
String tutto = null;
char cf;
//StringBuffer str;
char str[];
str = new char [25];
int c,i;
i = 0;
while ( (c = buf_reader.read()) != -1){
if((char)c != '§'){
str[i] = (char)c;
i++;
}else if((char) c == '§'){
tutto = new String (str);
aula = tutto.substring(0,tutto.indexOf('#'));
image = tutto.substring(tutto.indexOf('#')+1,tutto.indexOf(".gif"));
System.out.println(aula+" "+image);
if(aula.equals("G")){
System.out.println("uguale");
}
str = new char[25];
tutto = null;
aula = "";
image="";
i=0;
}
}
System.out.println("uguale"); } in pratica la prima riga del file me la riconosce quelle successive no.. cosa potrebbe essere? ho provato anche a fare dentro al ciclo un aule.charAt(0) e mi resistuisce solo la lettera estratta dalla prima riga.. cosa c'è che nn va? grazie..ciao =) |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Re: Java stringhe
Quote:
ma come mai leggi un byte alla volta? non ti conviene acquisire una riga alla volta e poi separare aula, image,ecc.ecc.? |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Dundee, Scotland
Messaggi: 467
|
Prova a usare compareTo invece di equals.
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
leggo un byte alla volta perchè uso j2me e a quanto pare si può fare solo così..
le prime righe sono queste Codice:
import java.io.*;
import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
public class leggiLista {
public static void main(String args[])
{
String in_file = "aule.txt";
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Dundee, Scotland
Messaggi: 467
|
Se non specifichi il contenuto del file che intendi leggere e cosa vuoi estrarre non è che ti si possa aiutare molto.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
il file è strutturato così
aula#immagine§ es: AA#immagine.gif§ BB#immagineB.gif§ CC#immagineC.gif§ in pratica me li estrae tutti però nell'if riconosce solo AA e non tutti gli altri.. (§ lo uso come ritorno a capo perchè mi dava dei problemi con \n) Ultima modifica di SteR9 : 25-03-2005 alle 00:25. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Dundee, Scotland
Messaggi: 467
|
Non ho capito cosa vuoi fare con questo if:
if(aula.equals("G")){ System.out.println("uguale"); } Estrai aula e image, e l'if? |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
Quote:
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
ho provato a controllare la lunghezza di aula e tutte tranne la prima sono più lunghe di 2 caratteri che però non vengono visualizzati.. che cavolo di caratteri sono?!
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
sì non penso neanch'io, ti avevo chiesto il contenuto del file che leggi, non del sorgente ho visto che l'hai postato dopo |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
nella system.out che c'e' nel codice come stampa i codici aula? sono corretti? |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Dundee, Scotland
Messaggi: 467
|
Quote:
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
prova a farti un Sistem.out carattere per carattere quando li leggi in questo modo puoi vedere i caratteri letti se sono giusti o meno...
Poi perchè non usi readLine() non ti dorebba dare problemi con gli invii. Ciao |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
cmq il ritorno a capo dipende dalla piattaforma....
a volte si usa <CR>, a volte <CR>+<LF>(Carriage Return + Line Feed)... su windows se nn erro dovrebbe essere \r\n..... il codice ASCII dovrebbe essere 13 x il CR e 10 x LF.....
__________________
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
facendo con System.out è tutto ok..
il ritorno a capo che problemi potrebbe dare? tglman non posso usare readLine perchè sto programmando in j2me e funziona solo read.. |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
il problema stava proprio nel ritorno a capo..ho tolto tutti i ritorno a capo dal file tanto c'è § che mi divide..
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Dundee, Scotland
Messaggi: 467
|
Quote:
|
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
infatti bastava mettere nell 'if di non fare niente quando ricevevi il carattere ASCII 13 e il carattere ASCII 10
__________________
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:31.



















