国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

幾種常用輸出輸出流的使用

2019-11-18 14:42:21
字體:
來源:轉載
供稿:網友
// : c12:IOStreamDemo.java
// Typical I/O stream configurations.
// {RunByHand}
// {Clean: IODemo.out,Data.txt,rtest.dat}
// From 'Thinking in Java, 3rd ed.' (c) BrUCe Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PRintWriter;
import java.io.RandomaccessFile;
import java.io.StringReader;

public class IOStreamDemo {
  // Throw exceptions to console:
  public static void main(String[] args) throws IOException {
    // 1. Reading input by lines:
    BufferedReader in = new BufferedReader(new FileReader(
        "IOStreamDemo.java"));
    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.print("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 ByteArrayInputStream(
          s2.getBytes()));
      while (true)
        System.out.print((char) in3.readByte());
    } catch (EOFException e) {
      System.err.println("End of stream");
    }

    // 4. File output
    try {
      BufferedReader in4 = new BufferedReader(new StringReader(s2));
      PrintWriter out1 = new PrintWriter(new BufferedWriter(
          new FileWriter("IODemo.out")));
      int lineCount = 1;
      while ((s = in4.readLine()) != null)
        out1.println(lineCount++ + ": " + s);
      out1.close();
    } catch (EOFException e) {
      System.err.println("End of stream");
    }

    // 5. Storing & recovering data
    try {
      DataOutputStream out2 = new DataOutputStream(
          new BufferedOutputStream(new FileOutputStream("Data.txt")));
      out2.writeDouble(3.14159);
      out2.writeUTF("That was pi");
      out2.writeDouble(1.41413);
      out2.writeUTF("Square root of 2");
      out2.close();
      DataInputStream in5 = new DataInputStream(new BufferedInputStream(
          new FileInputStream("Data.txt")));
      // Must use DataInputStream for data:
      System.out.println(in5.readDouble());
      // Only readUTF() will recover the
      // Java-UTF String properly:
      System.out.println(in5.readUTF());
      // Read the following double and String:
      System.out.println(in5.readDouble());
      System.out.println(in5.readUTF());
    } catch (EOFException e) {
      throw new RuntimeException(e);
    }

    // 6. Reading/writing random access files
    RandomAccessFile rf = new RandomAccessFile("rtest.dat", "rw");
    for (int i = 0; i < 10; i++)
      rf.writeDouble(i * 1.414);
    rf.close();
    rf = new RandomAccessFile("rtest.dat", "rw");
    rf.seek(5 * 8);
    rf.writeDouble(47.0001);
    rf.close();
    rf = new RandomAccessFile("rtest.dat", "r");
    for (int i = 0; i < 10; i++)
      System.out.println("Value " + i + ": " + rf.readDouble());
    rf.close();
  }
} ///:~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景东| 宣恩县| 内黄县| 克拉玛依市| 林甸县| 钟山县| 个旧市| 阜新市| 梅河口市| 灵寿县| 高邑县| 三门峡市| 申扎县| 历史| 兴城市| 临汾市| 芦山县| 于都县| 乌鲁木齐县| 汾阳市| 泰兴市| 镇雄县| 福安市| 炎陵县| 涞源县| 定结县| 宿州市| 台东县| 北安市| 汉川市| 阿拉善盟| 泊头市| 江华| 台北县| 武宁县| 台东县| 特克斯县| 扎鲁特旗| 星子县| 会同县| 永昌县|