import java.io.*;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.writeChars("That was pi\n");
      out2.writeBytes("That was pi\n");
      out2.close();
      DataInputStream in5 =
        new DataInputStream(
          new BufferedInputStream(
            new FileInputStream("Data.txt")));
      BufferedReader in5br =
        new BufferedReader(
          new InputStreamReader(in5));
      // Must use DataInputStream for data:
      System.out.println(in5.readDouble());
      // Can now use the "proper" readLine():
      System.out.println(in5br.readLine());
      // But the line comes out funny.
      // The one created with writeBytes is OK:
      System.out.println(in5br.readLine());
    } catch(EOFException e) {
      System.err.println("End of stream");
    }    // 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();
  }
} ///:~

解决方案 »

  1.   

    FileOutputStream fos = new FileOutputStream("d:/newFile");
    String str = "aaaaaaaaaa";
    fos.write(str.getBytes());
    fos.flush();
    fos.close();
      

  2.   

    FileOutputStream fos = new FileOutputStream("d:/newFile");
    String str = "aaaaaaaaaa";
    fos.write(str.getBytes());
    fos.flush();
    fos.close();用上面这些代码的时候,提示cannot resolve symbol,是fos.write(str.getBytes());这句,是不是没有import什么东西,我import java.io.*;,还需要import 什么吗?
      

  3.   

    import java.io.*;// 读文件 
    FileInputStream fin =new FileInputStream("c:\\text.txt");
    byte rec[] = new byte[1024];
    fin.read(rec);
    fin.close() ;
    outstr = (new String(rec)).trim() ;
    int i =  Integer.parseInt(outstr);
    // 文件读完,并将数据要 i  返回 // 将 i 加一,然后写文件
    i = i + 1;
    outstr = String.valueOf(i);
    FileOutputStream fout1 =new FileOutputStream("c:\\text.txt");
    fout1.write(outstr.getBytes());
    fout1.close();
    // 文件写完
      

  4.   

    谢谢: 9742wsx(aa) ,有一点不明白,其中i是做什么用的,outstr是String类型吗?做什么用的,还有,c:\\text.txt为什么是\\而不是\,请指点
      

  5.   

    fout1.write(outstr.getBytes());
    此句出错,为什么呢?说getBytes()方法不对