permet de dire que j'ai un fichier texte appelé: data.txt (contient 2000 lignes)
Comment lire spécifique une ligne spécifique de: 500-1500, puis 1500-2000 et afficher la sortie de la ligne spécifique? p>
Ce code va lire des fichiers entiers (2000 lignes) p> Comment puis-je modifier le code ci-dessus pour lire une ligne spécifique ? p> p>
3 Réponses :
Je suggère java.io.linenumberreader. Il étend la bufferreader et
Vous pouvez utiliser son Vous pouvez également utiliser java 7 Remarque: P> 1) Favorez StringBuilder sur Stressbuffer, Stringbuffer est juste une classe héritée p> 2) 3) La capture d'une exception semble sans importance, je suggérerais également de modifier votre code comme p> Le code est maintenant plus propre à mon avis. Et si vous êtes en Java 7, utilisez ESSAY-RESSOURCES P> linenumberreader.getlinenenumber (); code> pour obtenir le numéro de ligne actuel
java.nio.file.files.readalllines code> qui retourne une liste
contenu.append (system.geproperty ("line.sparator")) code> n'a pas l'air bien
Utilisez
contenu.append (fichier.sparator) code> à la place p>
public static String[] getContents(File aFile) throws IOException {
try (LineNumberReader rdr = new LineNumberReader(new FileReader(aFile))) {
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
for (String line = null; (line = rdr.readLine()) != null;) {
if (rdr.getLineNumber() >= 1500) {
sb2.append(line).append(File.pathSeparatorChar);
} else if (rdr.getLineNumber() > 500) {
sb1.append(line).append(File.pathSeparatorChar);
}
}
return new String[] { sb1.toString(), sb2.toString() };
}
}
Il semble que Redbox veuille 500-1500 et 1500 - 2000 comme deux textes distincts, ou il semble donc
Je veux mettre le texte de (500-1500) à Stringa puis texte de (1500-2000) en tant que stringb possible pour le faire?
Ensuite, utilisez linenumberreader, ce sera plus efficace
1 autre question, Stringbuilder est pour JDK 1.4 et plus?
Avez-vous autre moyen que StressBuilder? Comme mon projet utilise une version plus ancienne de JDK, le StringBuilder ne fonctionne pas ..
Une solution légèrement plus propre serait d'utiliser des filsutils à Apache Commons.
http://commons.apache.org/io /AP-Release/org/apache/commons/io/fileUtils.html
Exemple d'échantillon:
Dois-je charger des libs Apache? im utilisant jdéveloppeur
Oui, le fichier Apache Commons-io Jar devrait être dans la classe de classe. jarfinder.com/index.php/java/ Info / ...
Le lien de votre réponse est mort Vous trouverez des fichiers à partir de: Commons.apache.org/proper/ Commons-io
Le meilleur moyen est d'utiliser BufferDreader. Si vous souhaitez lire la ligne 32 par exemple: maintenant dans la chaîne linethreetwo Vous avez stocké la ligne 32. P> p>
Bufferedreader est plus rapide que Linenumberreader. Solution la plus rapide.
Pourquoi ne comptez-vous pas simplement quelle ligne vous êtes et si vous êtes dans la gamme souhaitée, vous produisez les lignes une après une?
comment je fais ça? Je sais comment compter mais pas sûr de sortir la ligne de la gamme
Vous comptez, puis vous vérifiez le compte avec un
si code> instruction.
Vous avez probablement besoin d'un accès de fichiers absolu, essayez de rechercher
Vous devriez compter les lignes dès le début du fichier ou même mieux analyser en utilisant
linenumberreader code>
n'importe quel exemple serait génial
LinenumberReder combiné avec scanner: Stackoverflow.com/Questtions/1332297/...