2013-04-16 2 views
15

Come possiamo leggere i dati da un file di testo e archiviarli in una variabile String?Lettura da un file di testo e memorizzazione in una stringa

è possibile passare il nome file in un metodo e restituirebbe la stringa che è il testo dal file.

Che tipo di utilità devo importare? Un elenco di dichiarazioni sarà fantastico.

+0

quale lingua ?? –

+0

Java, linguaggio java semplice. – Mfali11

+0

perché non lo taggate? quindi lascia che la gente veda –

risposta

57

Queste sono le importazioni necersary: ​​

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 

e questo è un metodo che vi permetterà di leggere da un file passandogli il nome del file come parametro come questo: readFile("yourFile.txt");

String readFile(String fileName) throws IOException { 
    BufferedReader br = new BufferedReader(new FileReader(fileName)); 
    try { 
     StringBuilder sb = new StringBuilder(); 
     String line = br.readLine(); 

     while (line != null) { 
      sb.append(line); 
      sb.append("\n"); 
      line = br.readLine(); 
     } 
     return sb.toString(); 
    } finally { 
     br.close(); 
    } 
} 
+0

felice di poter aiutare :) –

+7

Si potrebbe anche usare la libreria FileUtils di Apache per farlo in una riga ... Ci sono ** COSÌ ** molte domande su questo non è nemmeno divertente. – jahroy

+2

Questo codice presenta diversi problemi: come sai che il file è la codifica predefinita della piattaforma? Come sai che la codifica utilizza un singolo byte per carattere? Il FileReader non deve essere chiuso se la lettura genera un'eccezione? – meriton

-2

Come possiamo leggere i dati da un file di testo e archiviarli in una variabile stringa?

Errare, leggere i dati dal file e memorizzarli in una variabile String. È solo codice. Non è una domanda reale finora.

È possibile passare il nome file in un metodo e restituirebbe la stringa che è il testo dal file.

Sì, è possibile. È anche una pessima idea. È necessario trattare il file una parte alla volta, ad esempio una riga alla volta. Leggendo l'intero file in memoria prima di elaborarne uno, si aggiunge la latenza; spreca memoria; e presume che l'intero file si adatterà alla memoria. Un giorno non lo farà. Non vuoi farlo in questo modo.

+0

@downvoter OK, che cos'è? Non aggiunge latenza? non spreca memoria? non presuppone che l'intero file si adatti alla memoria? – EJP