guarda ho appena testato questo codice
e il risultato dell'esecuzione ècodice:package testapplication; /** * * @author Valentina */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { String testo = "hello\n\rworld\n\r!!"; String[] tmp = testo.split("\\n\\r"); System.out.println("tmp " + tmp.length); for (String str : tmp) System.out.println("str " + str); StringTokenizer token = new StringTokenizer(testo, "\\n\\r"); for (; token.hasMoreTokens();){ String str = token.nextToken(); System.out.println("str " + str); } } }
come vedi il tokenizer ha un comportamento differente rispetto a split, penso derivi da come tokenizer considera il delimitatore e per sapere in dettaglio cosa succede dovrei andare un attimo a guardare il codice (e più tardi lo faccio).codice:tmp 3 str hello str world str !! tmp 2 str hello wo str ld !!
Per il momento usa split che funziona bene (oltretutto anche oracle ti consiglia di usare o split o la regex)
quindi cosa non funziona??

Rispondi quotando
