Java基本IO操作

public class IODemo {

	public static void main(String[] args) {
		try {
			// 1a.Reading input by lines
			BufferedReader in = new BufferedReader(new FileReader(args[0]));
			String s, s2 = new String();
			while ((s = in.readLine()) != null) {
				s2 += s + "\n";
			}
			in.close();

			// 1b.Reading standard input
			BufferedReader stdin = new BufferedReader(new InputStreamReader(
					System.in));
			System.out.println("Enter a line: ");
			System.out.println(stdin.readLine());

			// 2.Input from memory
			StringReader in2 = new StringReader(s2);
			int c;
			while ((c = in2.read()) != -1) {
				System.out.print((char) c);
			}

			// 3. Formatted memory input
			try {
				DataInputStream in3 = new DataInputStream(
						new StringBufferInputStream(s2));
				while (true) {
					System.out.print((char) in3.readByte());
				}
			} catch (EOFException e) {
				System.out.println("End of stream");
			}

			// 4. Line number reading & file output
			try {
				LineNumberReader li = new LineNumberReader(new StringReader(s2));
				BufferedReader in4 = new BufferedReader(li);
				PrintWriter out1 = new PrintWriter(new BufferedWriter(
						new FileWriter("IODemo.out")));
				while ((s = in4.readLine()) != null) {
					out1.println("Line " + li.getLineNumber() + " " + s);
				}
				out1.close();

			} catch (EOFException e) {
				System.out.println("End of stream");
			}

			// 5. Storing & recovering data
			try {
				DataOutputStream out2 = new DataOutputStream(
						new BufferedOutputStream(new FileOutputStream(
								"Data.txt")));
				out2.writeDouble(3.1415926);
				out2.writeBytes("It is a pi");
				out2.close();

				DataInputStream in5 = new DataInputStream(
						new BufferedInputStream(new FileInputStream("Data.txt")));
				BufferedReader in5br = new BufferedReader(
						new InputStreamReader(in5));
				System.out.println(in5.readDouble());
				System.out.println(in5br.readLine());
			} catch (EOFException e) {
				System.out.println("End of stream");
			}

		} catch (FileNotFoundException e) {
			System.out.println("File Not Found: " + args[1]);
		} catch (IOException e) {
			System.out.println("IO Exception");
		}
	}
}