FileContentIterator ou une autre manière de lire un fichier
Submitted by PiTiLeZarD on Tue, 09/05/2006 - 14:27
Tagged:
Voila j'en avait marre d'ouvrir des FileReader partout ... je trouve ça beacoup plus sympa un Iterator pour s'en servir comme ceci :
Iterator it = new FileContentIterator("monFichier.txt"); while (it.hasNext()) { System.out.println(it.next()); } //Ou en java 1.5 for (String line: new FileContentIterator("monFichier.txt")) { System.out.println(line); }
Alors pour ça j'ai fait un truc ultra simple mais néanmoins sympa :
public class FileContentIterator implements Iterator { private Collection lines = null; private Iterator it = null; public FileContentIterator(String filename) throws FileNotFoundException, IOException { if (!(new File(filename)).exists()) { throw new FileNotFoundException(filename); } lines = new ArrayList(); FileReader filereader = new FileReader(filename); BufferedReader buffer = new BufferedReader(filereader); String line; while ((line = buffer.readLine()) != null) { lines.add(line); } buffer.close(); filereader.close(); it = lines.iterator(); } public boolean hasNext() { return it.hasNext(); } public Object next() { return it.next(); } public void remove() { } }
Et voili =)
