Simple error: it is not possible to resolve the FileInputStream constructor (java.io.FileReader), the required constructor does not exist in the API.
Your original code was:
new PrintWriter(new BufferedWriter(new FileWriter(FileName)));
so you need to read
new PrintReader(new BufferedReader(new FileReader(FileName)));
but PrintReader is not needed (does not exist), so all you need is:
new BufferedReader(new FileReader(FileName))
PrinterWriter prints formatted representations of objects in the text output stream, but when reading text is always formatted, so PrinterReader does not exist.
You write line by line, so read line by line :) Example:
public void readFromFile() throws IOException { BufferedReader bufferedReader = null; try { String sCurrentLine; bufferedReader = new BufferedReader(new FileReader("c:\\cars.txt")); while ((sCurrentLine = bufferedReader.readLine()) != null) { System.out.println(sCurrentLine); } } catch (Exception ex) { System.out.println(ex.getMessage()); } finally { bufferedReader.close(); } }
or better (JDK7)
void readFromFile() throws IOException { Path path = Paths.get("c:\\cars.txt"); try (BufferedReader reader = Files.newBufferedReader(path, Charset.defaultCharset())){ String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } } }
MariuszS
source share