2014-05-14 4 views
0

J'ai quelques textes qui contiennent des lignes. Il y a un mot dans chaque ligne. Je devrais copier le texte, puis le coller dans la fenêtre de sortie de la console Eclipse et enfin stocker chaque ligne dans un tableau.Enregistrer une ligne de texte dans un tableau en java

Je ne connais pas le nombre de lignes de chaque texte. Comment pourrais-je faire ça?

Je sais que si je veux stocker quelques cordes à un tableau que je dois faire comme ci-dessous, mais je ne veux pas faire par cette méthode:

String[] Lines = {"line1", "line2", ....}; 

Répondre

2

Si vous ne savez pas combien de lignes vous devrez utiliser une liste générique.

Ceci sera redimensionné dynamiquement lorsque vous ajouterez des valeurs.

Vous pouvez également utiliser des tableaux et effectuer le redimensionnement vous-même, ce que fait ArrayList en coulisses, c'est juste que cela ajoute de la complexité à votre code.

+0

Puis ajoutez-le avec lines.add (string); – Timo

+0

btw. Si vous utilisez Java7 +, vous pouvez écrire aussi Liste lines = new ArrayList <>(); – Timo

0

Si vous utilisez Jdk 7+, vous pouvez le faire facilement par

List<String> list = Files.readAllLines(new File("test.txt").toPath()); 

Mais si vous voulez continuer à utiliser le tableau convertir cette liste à un tableau comme

List<String> list = Files.readAllLines(new File("test.txt").toPath()); 
String[] str = list.toArray(new String[list.size()]); 

Ou si vous n'avez pas un fichier et copier coller à la console essayer

List<String> lines = new ArrayList<String>(); 
Scanner s = new Scanner(System.in); 
while(s.hasNextLine()){ 
    String line = s.nextLine(); 
    if(line.length() > 0) { 
     lines.add(s.nextLine()); 
    } else { 
     break; 
    } 
} 
System.out.println(lines); 
+0

Merci, mais je ne veux pas les importer depuis un fichier .txt, je veux les coller dans la fenêtre de sortie de la console Eclipse, puis stocker dans un tableau. – user3637733

+0

J'ai aussi ce code dans ma réponse .. :) –

1

Vous ne pouvez pas modifier une taille de tableau après vous initi alize-le. Si vous changez vos données précédentes seront perdues. Vous pouvez utiliser ArrayList pour ajouter des éléments de manière dynamique. Par exemple;

ArrayList<String> list = new ArrayList<>(); 
    //read your file here and print it. After that; 
    list.add(line); // I assumed you get lines to a variable called line 
Questions connexes