Java/File Input Output/Buffered Reader Writer
Содержание
Creates a tiny text editor with BufferedReader
<source lang="java">
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class TinyEdit {
public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str[] = new String[100]; System.out.println("Enter lines of text."); System.out.println("Enter "stop" to quit."); for (int i = 0; i < 100; i++) { str[i] = br.readLine(); if (str[i].equals("stop")) break; } System.out.println("\nHere is your file:"); for (int i = 0; i < 100; i++) { if (str[i].equals("stop")) break; System.out.println(str[i]); } }
}
</source>
how to read lines from a file and print these to the standard output stream
<source lang="java">
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; class FileReaderDemo {
public static void main(String args[]) throws IOException { FileReader fr = new FileReader("FileReaderDemo.java"); BufferedReader br = new BufferedReader(fr); String s; while ((s = br.readLine()) != null) { System.out.println(s); } fr.close(); }
}
</source>
Read a string from console using a BufferedReader.
<source lang="java">
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class BRReadLines {
public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; System.out.println("Enter lines of text."); System.out.println("Enter "stop" to quit."); do { str = br.readLine(); System.out.println(str); } while (!str.equals("stop")); }
}
</source>
Use a BufferedReader to read characters from the console.
<source lang="java">
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class BRRead {
public static void main(String args[]) throws IOException { char c; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter characters, "q" to quit."); do { c = (char) br.read(); System.out.println(c); } while (c != "q"); }
}
</source>
Writing to a Text File
<source lang="java">
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class WriteFile {
public static void main(String[] args) { Product[] movies = new Product[10]; movies[0] = new Product("L", 1946, 14.95); movies[1] = new Product("T", 1965, 12.95); movies[2] = new Product("Y", 1974, 16.95); movies[3] = new Product("T", 1975, 11.95); movies[4] = new Product("S", 1977, 17.95); movies[5] = new Product("B", 1987, 16.95); movies[6] = new Product("G", 1989, 14.95); movies[7] = new Product("A", 1995, 19.95); movies[8] = new Product("G", 1997, 14.95); movies[9] = new Product("R", 2001, 19.95); PrintWriter out = openWriter("movies.txt"); for (Product m : movies) writeMovie(m, out); out.close(); } private static PrintWriter openWriter(String name) { try { File file = new File(name); PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file)), true); return out; } catch (IOException e) { System.out.println("I/O Error"); System.exit(0); } return null; } private static void writeMovie(Product m, PrintWriter out) { String line = m.title; line += "\t" + Integer.toString(m.year); line += "\t" + Double.toString(m.price); out.println(line); }
} class Product {
public String title; public int year; public double price; public Product(String title, int year, double price) { this.title = title; this.year = year; this.price = price; }
}
</source>