java基础——文件(IO)操作2
来源:互联网 发布:kirinji 日本乐队 知乎 编辑:程序博客网 时间:2024/06/05 18:57
一、System.in和 System.out
为了支持标准输入输出设备,Java定义了两个特殊的流对象:System.in和System.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
- java基础——文件(IO)操作2
- java基础——文件(IO)操作1
- 【Java基础】文件IO操作
- Java-基础 文件操作IO-文件写入
- Java-基础 文件操作IO-删除文件
- Java-基础 文件操作IO 重命名文件
- java基础—java的Io操作学习(2)
- JAVA基础——IO操作规律
- Java基础--IO文件操作-RandomAccessFile
- Java基础--文件数据IO操作
- Java文件操作——IO流
- Java基础——IO流与文件操作(上)
- java基础—文件操作
- Java基础: IO操作
- Java IO 操作基础1---普通文件的相关操作
- java基础—java的Io操作学习(1)
- java基础—java的Io操作学习(3)
- Java-基础 文件操作IO-读取文件内容
- 三年目标
- MemoryMXBean和MemoryPoolMXBean--OutOfMemoryError Warning System
- Android学习笔记(1)
- 杂七杂八
- gridview simpleadater
- java基础——文件(IO)操作2
- 手动安装Linux网卡驱动程序
- j2ee session机制
- 2.maven 坐标
- html5学习笔记 -- canvas
- MySQL 5.6 if与end if在触发器中的使用
- datepicker的汉化(sencha touch)
- K&R The C programming language1
- tcp连接探测Keepalive和心跳包