java基础——文件(IO)操作2

来源:互联网 发布:kirinji 日本乐队 知乎 编辑:程序博客网 时间:2024/06/05 18:57

一、System.in和 System.out

    为了支持标准输入输出设备,Java定义了两个特殊的流对象:System.inSystem.out

System.in对应键盘,是 InputStream 类型的,程序使用 System.in 可以读取从键盘上输入的数据

System.out 键盘可以被当作一个特殊的输入流,显示器可以被当作一个特殊的输出流。

 

二、打印流——PrintStream、PrintWrite

 

PrintStream

     PrintStream类提供了一系列的 print 和 println 方法,可以实现将基本数据类型的格式转化成字符串输出,而不是输出原始的字节内容。

     PrintStream有下面几个构造方法:

     PrintStream(OutputStream out)     //autoflush 控制,在 Java 中遇到换行符(\n)时是否自动清空缓冲区     PrintStream(OutputStream out,boolean auotflush)     //encoding :指定编码方式     PrintStream(OutputStream out,boolean auotflush, String encoding)

PrintWriter

     IO包中提供的与 PrintStream 对应的类。构造方法:

     PrintWriter(OutputStream)     PrintWriter(OutputStream, boolean)
     PrintWriter(Writer)     PrintWriter(Writer, boolean)

示例:

import java.io.*;public class SystemPrintDemo{public static void main(String args[]){PrintWriter out = null;// 通过 System.out 为 PrintWriter 实例化out = new PrintWriter(System.out);// 向屏幕上输出out. print ("Hello World!");out.close();}}

输出结果:

Hello World!


三、DataInputStream与DataOutputStream

        DataInputStream DataOutputStream提供了与平台无关的数据操作,通常会先通DataOutputStream按照一定的格式输出,再通过DataInputStream按照一定格式读入。

 

 示例:

     

 

代码实现:

import java.io.* ;public class DataStreamDemo{public static void main(String[] args) throws IOException{// 将数据写入某一种载体DataOutputStream out = new DataOutputStream(new FileOutputStream("order.txt"));// 价格double[] prices = { 18.99, 9.22, 14.22, 5.22, 4.21 };// 数目int[] units = { 10, 10, 20, 39, 40 };String[] descs = { "T 恤杉", "杯子", "洋娃娃", "大头针", "钥匙链" };// 向数据过滤流写入主要类型for (int i = 0; i < prices.length; i++){// 写入价格,使用 tab 隔开数据out.writeDouble(prices[i]);out.writeChar('\t');// 写入数目out.writeInt(units[i]);out.writeChar('\t');// 写入产品名称,行尾加入换行符out.writeChars(descs[i]);out.writeChar('\n');}out.close();// 将数据读出DataInputStream in = new DataInputStream(new FileInputStream("order.txt"));double price;int unit;StringBuffer desc;double total = 0.0;try{// 当文本被全部读出以后会抛出 EOFException,中断循环while (true){// 读出价格price = in.readDouble();// 跳过 tabin.readChar();// 读出数目unit = in.readInt();// 跳过 tabin.readChar();char chr;// 读出产品名称desc = new StringBuffer();while ((chr = in.readChar()) != '\n'){desc.append(chr);}System.out.println("定单信息: " + "产品名称:"+desc+",\t 数量:"+unit+",\t 价格:"+price);total = total + unit * price;}}catch (EOFException e){System.out.println("\n 总共需要:" + total+"元");}in.close();}}

执行结果:

        

 

参考资源:Java基础http://download.csdn.net/detail/xujiaolf/7541349

0 0
原创粉丝点击