下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何操作java中的IO流典型应用

作者:课课家教育     来源: http://www.kokojia.com点击数:771发布时间: 2016-02-18 17:51:03

标签: java编程java教程零基础学习java

大神带你学编程,欢迎选课

  尽管库内存在大量IO流类,可通过多种不同的方式组合到一起,但实际上只有几种方式才会经常用到。然而,必须小心在意才能得到正确的组合。下面这个相当长的例子展示了典型IO配置的创建与使用,可在写自己的代码时将其作为一个参考使用。注意每个配置都以一个注释形式的编号起头,并提供了适当的解释信息。

如何操作java中的IO流的典型应用_java编程_javaIO流类_课课家

  //: iostreamDemo.java

  // Typical IO Stream Configurations

  import java.io.*;

  import com.bruceeckel.tools.*;

  public class IOStreamDemo {

  public static void main(String[] args) {

  try {

  // 1. Buffered input file

  DataInputStream in =

  new DataInputStream(

  new BufferedInputStream(

  new FileInputStream(args[0])));

  String s, s2 = new String();

  while((s = in.readLine())!= null)

  s2 += s + "\\n";

  in.close();

  // 2. Input from memory

  StringBufferInputStream in2 =

  new StringBufferInputStream(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 encountered");

  }

  // 4. Line numbering & file output

  try {

  LineNumberInputStream li =

  new LineNumberInputStream(

  new StringBufferInputStream(s2));

  DataInputStream in4 =

  new DataInputStream(li);

  PrintStream out1 =

  new PrintStream(

  new BufferedOutputStream(

  new FileOutputStream(

  "IODemo.out")));

  while((s = in4.readLine()) != null )

  out1.println(

  "Line " + li.gETLineNumber() + s);

  out1.close(); // finalize() not reliable!

  } catch(EOFException e) {

  System.out.println(

  "End of stream encountered");

  }

  // 5. Storing & recovering data

  try {

  DataOutputStream out2 =

  new DataOutputStream(

  new BufferedOutputStream(

  new FileOutputStream("Data.txt")));

  out2.writeBytes(

  "Here's the value of pi: \\n");

  out2.writeDouble(3.14159);

  out2.close();

  DataInputStream in5 =

  new DataInputStream(

  new BufferedInputStream(

  new FileInputStream("Data.txt")));

  System.out.println(in5.readLine());

  System.out.println(in5.readDouble());

  } catch(EOFException e) {

  System.out.println(

  "End of stream encountered");

  }

  // 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();

  // 7. File input shorthand

  InFile in6 = new InFile(args[0]);

  String s3 = new String();

  System.out.println(

  "First line in file: " +

  in6.readLine());

  in6.close();

  // 8. Formatted file output shorthand

  PrintFile out3 = new PrintFile("Data2.txt");

  out3.print("Test of PrintFile");

  out3.close();

  // 9. Data file output shorthand

  OutFile out4 = new OutFile("Data3.txt");

  out4.writeBytes("Test of outDataFile\\n\\r");

  out4.writeChars("Test of outDataFile\\n\\r");

  out4.close();

  } catch(FileNotFoundException e) {

  System.out.println(

  "File Not Found:" + args[0]);

  } catch(IOException e) {

  System.out.println("IO Exception");

  }

  }

  } ///:~

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程