一、输入输出的概念 点击此处返回总目录 二、字节输出流OutputStream 三、 一、输入输出的概念 前面讲了如何操作文件和目录。从现在开始讲如何往文件中写数据读数据。 首先要搞明白什么叫做Input,什么叫做Output。 Input、Output是对于程序来说的。读取文件中的数据叫做输入,把数据写到文件中叫做输出。 Input :输入 从文件(硬盘)------->程序(内存) Output:输出 从程序(内存)------->文件(硬盘) 进行文件内容的操作需要通过Java中提供的两组数据流的操作类完成: 字节操作流:OutputStream、InputStream 字符操作流:Writer、Reader 流对象学习技巧: 流对象都是相辅相成的:有输入必有输出,有输出必有输入;输出能输出什么,输入就能输入什么。所以学会了一个方向,另一个方向完全能够明白。 流对象的使用步骤: 1. 创建流的子类对象,绑定数据目的。 2. 调用流对象的方法 3. close() 二、字节输出流OutputStream java.io.OutputStream是抽象类,是所有字节输出流的父类。作用是从java程序写出到文件。 OutputStream每次只操作文件中的1个字节。 字节输出流可以写任意文件。 常用方法: 这个类的方法都是写文件的一下方法,一共也没几个。所有的子类都得具有这些方法。 1. write(int b) //写入1个字节。int型可以砍掉3个字节变为byte。要写入的字节是参数b的八个低位。
2. write(byte[] b) //写入字节数组。 3. write(byte[] b , int off , int len) //将指定 byte 数组中从偏移量 4. close() //关闭流对象,并且释放与此流相关的资源。java当中的流对象,在操作文件的时候,自己并不 做,而是使用的操作系统的功能,当流用完了,系统资源必须要释放掉。如果不close(),文件 想删都删不了。 因为是抽象类,所以要通过子类对象来学习父类的方法。OutputStream类的常用子类有ByteArrayOutputStream(字节数组输出流,这个流可以写字节数组)、FileOutputStream(这个流用于写文件)、FilterOutputStream(跟过滤器有关系)、ObjectOutputStream(这个用来写对象)、OutputStream(其他包中的一个流,跟我们没什么关系)、PipeOutputStream(管道流)等。 三、FileOutputStream 1)构造方法 作用:绑定输出的输出目的。 1. FileOutputStream(File file) //参数为File类型的对象。 2. FileOutputStream(String name) 注: 1.当文件不存在时,构造方法会先创建文件。 2.当原先有文件时,会覆盖掉(先删除原来的,再创建新的)。 2)常用方法: 例1:write(int b)
运行结果: 打开e:\a.txt,发现里面只有一个字母'd'。 分析: 100的二进制为:00000000 00000000 00000000 01100100 ,低字节为01100100。所以在硬盘中存的是二进制01100100,当打开记事本,记事本是文本工具,文本工具开启的一瞬间都会去走编码表,二进制"01100100"对应的是字符'd',所以看到的是字符'd'。 例2:write(int b)
运行结果: 打开e:\a.txt,发现里面只有一个字母'd'。 结果分析: 1124的二进制为:00000000 00000000 00000100 01100100 ,低字节为01100100。所以在硬盘中存的是二进制01100100,当打开记事本,记事本是文本工具,文本工具开启的一瞬间都会去走编码表,二进制"01100100"对应的是字符'd',所以看到的是字符'd'。 在一个文本当中,一个汉字占两个字节,数字占1个字节。所以如果a.txt中存储了"吃",则a.txt为2个字节。如果a.txt中存储了"100",则a.txt为3个字节。 要想打开a.txt,能够看到"100",怎么办?【例3】 例3:
运行结果: 打开a.txt,能够看到"100" |
IO(2)----字节流
版权声明:未经同意,严禁转载 https://blog.csdn.net/pengchengliu/article/details/82859944
猜你喜欢
转载自blog.csdn.net/pengchengliu/article/details/82859944
今日推荐
周排行