Java Tutorial/File/FileReader
Содержание
FileReader
- The FileReader class is a subclass of InputStreamReader
- The FileReader class is a convenient class to read characters from a file.
- The FileReader class uses an encoding other than the default one.
To construct a FileReader object:
<source lang="java">
public FileReader (File file) public FileReader (FileDescriptor fileDescriptor) public FileReader (String filePath)</source>
Loading text from a file
<source lang="java">
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class Main {
public static void main(String[] argv) throws Exception { File f = new File("C:\\test.txt"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); StringBuffer sb = new StringBuffer(); String eachLine = br.readLine(); while (eachLine != null) { sb.append(eachLine); sb.append("\n"); eachLine = br.readLine(); } System.out.println(sb.toString()); }
}</source>
Read file upside down
<source lang="java">
import java.io.File; import java.io.FileReader; public class Main {
public static void main(String[] args) throws Exception { File f = new File("hello.txt"); FileReader fr = new FileReader(f); char[] c = new char[(int) f.length()]; char[] cnew = new char[(int) f.length()]; StringBuffer sbuf = new StringBuffer(); fr.read(c, 0, (int) f.length()); int len = (int) f.length(); for (int i = 0, j = len - 1; i < len; i++, j--) { cnew[i] = c[j]; sbuf.append(cnew[i]); } System.out.println(sbuf.toString()); fr.close(); }
}</source>
Read the file one buffer at a time
<source lang="java">
import java.io.FileReader; public class Main {
public static void main(String[] argv) throws Exception { FileReader fr = new FileReader("text.txt"); int count; char chrs[] = new char[80]; do { count = fr.read(chrs); for (int i = 0; i < count; i++) System.out.print(chrs[i]); } while (count != -1); }
}</source>
Use a FileReader to display a text file.
<source lang="java">
import java.io.FileReader; public class Main {
public static void main(String[] argv) throws Exception { FileReader fr = new FileReader("text.txt"); int ch; do { ch = fr.read(); if (ch != -1) System.out.println((char) ch); } while (ch != -1); fr.close(); }
}</source>
Wrap FileReader with BufferedReader
<source lang="java">
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class SourceReader {
public static void main(String[] arguments) { try { FileReader file = new FileReader("SourceReader.java"); BufferedReader buff = new BufferedReader(file); boolean eof = false; while (!eof) { String line = buff.readLine(); if (line == null) eof = true; else System.out.println(line); } buff.close(); } catch (IOException e) { System.out.println("Error - " + e.toString()); } }
}</source>