A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘付力 初级黑马   /  2012-8-1 11:09  /  1766 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

 ------- <a  target="blank">android培训</a>、<a  target="blank">java培训</a>、期待与您交流! ----
 关于IO接口原理的第四贴                生命不息,折腾不止!向上吧,骚年!!!

第一节、数据流

有时为了更加方便地操作java语言的基础数据类型的数据,可以使用数据流。数据流主要有两个类:dataInputStream和dataOutputStream。分别用来读取和写出
基本数据类型的数据。
DataInputStream类中提供的数据基本类型数据的方法包括如下。
public final boolean readBoolean():从输入流中读取一个布尔型的值

public final byte readByte():从输入流中读取一个8位的字节

public final float readFloat():读取一个32位的单精度浮点数。

public final char readChar():读取一个16位的Unicode字符。

public final double readDouble():读取一个64位的双精度浮点数。

public final float readFloat():读取一个32位的单精度浮点数。

public final short readShort():读取一个16位的短整数。

public final int readInt():读取一个32位的整数。

public final long readLong():读取一个64位的长整数。

public final void readFully(byte[] b):从当前数据输入流中读取b.length个字节到改组。

public final String readdUTF():读取一个由UTF格式字符组成的字符串。

public intskipBypes(int n):跳过n个字节。
下面给出一个往指定文件中写入java基本类型数据的代码。


import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/** 数据流使用示例 */
public class DataOutputStreamTest {
        public static void main(String[] args) {
                DataOutputStream dos = null;
                try {
                        //创建连接到指定文件的数据输出流对象
                        dos = new DataOutputStream(new FileOutputStream(
                                        "d:\\IOTest\\destData.dat"));
                        dos.writeUTF("ab中国");  //写UTF字符串
                        dos.writeBoolean(false);  //写入布尔值
                        dos.writeLong(1234567890L);  //写入长整数
                        System.out.println("写文件成功!");
                } catch (IOException e) {
                        e.printStackTrace();
                } finally {
                        //关闭流对象
                        try {
                                if (null != dos) {
                                        dos.close(); // 关闭过滤流时,会自动关闭它包装的底层节点流
                                }
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }
        }
}


第二节、打印流PrintStream和PrintWriter
PrintStream和PrintWriter都属于打印流,提供了一系列的print和println方法,可以实现将基本数据类型的数据格式转化成字符串输出。
PrintStream和PrintWriter的输出操作可能不会跑出IOException异常。大家熟知的“System.out.println”语句中,System.out就是打印流的
一个实例。
下面给出打印流的使用实例:


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

/** 把标准的输出改成指定的文件输出 */
public class PrintStreamTest {
        public static void main(String[] args) {
               
                FileOutputStream fos = null;
                try {
                        fos = new FileOutputStream(new File("D:\\IOTest\\text.txt"));
                } catch (FileNotFoundException e) {
                        e.printStackTrace();
                }

                //创建打印输出流,设置为自动刷新模式(写入换行符或字节 '\n' 时都会刷新输出缓冲区)
                PrintStream ps = new PrintStream(fos,true);
                if (ps != null) {
                        // 把标准输出流(控制台输出)改成文件
                        System.setOut(ps);
                }
                for (int i = 0; i <= 255; i++) {  //输出ASCII字符
                        System.out.print((char)i);
                        if (i % 50 == 0) {   //每50个数据一行
                                System.out.println(); // 换行
                        }
                }
                ps.close();
        }
}


------- <a  target="blank">android培训</a>、<a  target="blank">java培训</a>、期待与您交流! --------

2 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马