2016-12-23 1 views
-3

J'ai un texte:Mise en forme chaîne pour obtenir des mots dans une colonne

c:\MyMP3s\4 Non Blondes\Bigger!\Faster, More!_Train.mp3 

Je veux supprimer, à ce texte les caractères suivants: :,\!._ et formater le texte alors comme ceci:

c 
MyMP3s 
4 
Non 
Blindes 
Bigger 
Faster 
More 
Train 
mp3 

Et écrivez tout cela dans un fichier. Voici ce que je faisais:

public static void formatText() throws IOException{ 

    Writer writer = null; 
    BufferedReader br = new BufferedReader(new FileReader(new File("File.txt"))); 

    String line = ""; 
    while(br.readLine()!=null){ 
     System.out.println("Into the loop"); 

     line = br.readLine(); 
     line = line.replaceAll(":", " "); 
     line = line.replaceAll(".", " "); 
     line = line.replaceAll("_", " "); 

     line = System.lineSeparator(); 
     System.out.println(line); 
     writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("Write.txt"))); 
     writer.write(line); 
    } 

Et ça ne marche pas!

L'exception:

Into the loop 
Exception in thread "main" java.lang.NullPointerException 
    at Application.formatText(Application.java:25) 
    at Application.main(Application.java:41) 
+1

'dire Avez-vous ligne + = System.lineSeparator();'? –

+0

Pouvez-vous s'il vous plaît poster ce que la sortie du programme était? – SteelToe

+0

@ PM77-1 Je vais écrire la sortie –

Répondre

1

A la fin de votre code, vous avez:

line = System.lineSeperator()

Cela remet à zéro vos remplacements. Une autre chose à noter est String#replaceAll prend dans une regex pour le premier paramètre. Donc, vous devez échapper à toutes les séquences, telles que .

String line = "c:\\MyMP3s\\4 Non Blondes\\Bigger!\\Faster, More!_Train.mp3"; 
System.out.println("Into the loop"); 

line = line.replaceAll(":\\\\", " "); 
line = line.replaceAll("\\.", " "); 
line = line.replaceAll("_", " "); 
line = line.replaceAll("\\\\", " "); 

line = line.replaceAll(" ", System.lineSeparator()); 

System.out.println(line); 

La sortie est:

Into the loop 
c 
MyMP3s 
4 
Non 
Blondes 
Bigger! 
Faster, 
More! 
Train 
mp3