2017-06-18 3 views
-1

Comment convertir en une chaîne chacune des lignes récupérées à la lecture d'un fichier texte. Par exemple:Convertir en une chaîne chacune des lignes extraites de la lecture d'un fichier texte

RandomAccessFile file = new RandomAccessFile("C:text.txt", "r"); 
    FileChannel channel = file.getChannel(); 
    System.out.println("Size: " + channel.size()); 
    ByteBuffer buffer = ByteBuffer.allocate((int) channel.size()); 
    channel.read(buffer); 
    buffer.flip();//Restore buffer to position 0 to read it 
    System.out.println("Read ... "); 


    for (int i = 0; i < channel.size(); i++) {      

     System.out.print((char) buffer.get()); 

    } 

J'ai essayé d'ajouter ce qui suit à l'intérieur de la boucle pour obtenir chaque ligne à chaque fois dans « stringValueOf » mais il affiche chaque caracter séparemment et non chaque ligne.

String stringValueOf = String.valueOf((char) buffer.get()); 

Répondre

0

InputStreamReader est utilisé pour lire les caractères. Java fournit BufferedReader pour faciliter la lecture des lignes.

L'extrait suivant lit les lignes du fichier et les imprime vers la sortie standard.

public void printFileLinesToStdOut(File file, Charset charSet) 
{ 
    try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charSet))) 
    { 
     String line = null; 

     while((line = reader.readLine()) != null) 
     { 
      System.out.println(line); 
     } 
    } 
    catch(IOException e) 
    { 
     // TODO : your code here 
    } 
}