2010-08-08 7 views

Répondre

10

Je ne sais pas ce que vous entendez par « importer » un fichier, mais voici la façon la plus simple ouvrir et lire un fichier texte ligne par ligne, en utilisant uniquement des classes Java standard. (Cela devrait travailler à l'aide du scanner est une autre option pour JDK1.5 et plus tard pour toutes les versions de Java SE Retour à JDK1.1..)

BufferedReader br = new BufferedReader(
     new InputStreamReader(new FileInputStream(fileName))); 
try { 
    String line; 
    while ((line = br.readLine()) != null) { 
     // process line 
    } 
} finally { 
    br.close(); 
} 
4

Je na pas obtenir ce que vous vouliez dire par « importation ». Je suppose que vous voulez lire le contenu d'un fichier. Voici un exemple de méthode qu'il ne

/** Read the contents of the given file. */ 
    void read() throws IOException { 
    System.out.println("Reading from file."); 
    StringBuilder text = new StringBuilder(); 
    String NL = System.getProperty("line.separator"); 
    Scanner scanner = new Scanner(new File(fFileName), fEncoding); 
    try { 
     while (scanner.hasNextLine()){ 
     text.append(scanner.nextLine() + NL); 
     } 
    } 
    finally{ 
     scanner.close(); 
    } 
    System.out.println("Text read in: " + text); 
    } 

Pour plus de détails vous pouvez voir here

+1

Scanner? N'est-ce pas un peu vieux? – TheLQ

+3

@Lord Quackstar: 'Scanner' a été introduit dans Java 1.5. L'utilisation de 'BufferedReader' à cette fin est ancienne. –

0

Apache Commons IO offre un grand utilitaire appelé LineIterator qui peut être utilisé explicitement à cette fin. La classe FileUtils a une méthode pour en créer une pour un fichier: FileUtils.lineIterator (File).

Voici un exemple de son utilisation:

File file = new File("thing.txt"); 
LineIterator lineIterator = null; 

try 
{ 
    lineIterator = FileUtils.lineIterator(file); 
    while(lineIterator.hasNext()) 
    { 
     String line = lineIterator.next(); 
     // Process line 
    } 
} 
catch (IOException e) 
{ 
    // Handle exception 
} 
finally 
{ 
    LineIterator.closeQuietly(lineIterator); 
} 
+0

Cela ressemble à une surcharge quand il s'agit d'un BufferedFileReader. – monksy

Questions connexes