字节流的操作

字符流:

FileReader

FileWriter

BufferedReader

BufferedWriter

-------------------------

字节流:

InpuStream

OutputStream

想要操作图片数据,这时就要用到字节流。

import java.io.*;
class FileStream
{
    public static void main(String[] args) throws Exception
    {
        //writeFile();
        readFile3();
    }

    public static void writeFile()throws Exception{
        FileOutputStream fos = new FileOutputStream("fos.txt");

        fos.write("abcde".getBytes());
        fos.close();
    }

    public static void readFile1()throws Exception{
        FileInputStream fis = new FileInputStream("fos.txt");

        int ch = 0;
        while((ch = fis.read()) != -1){
            System.out.println((char)ch);
        }

        fis.close();
    }

    public static void readFile2()throws Exception{
        FileInputStream fis = new FileInputStream("fos.txt");

        byte[] buf = new byte[1024];
        int len = 0;
        while((len = fis.read(buf)) != -1){
            System.out.println(new String(buf, 0, len));
        }

        fis.close();
    }

    //available()
    //缺点:如果内容过大,容易占用内存,还是以第2种方法为主。
    public static void readFile3()throws Exception{
        FileInputStream fis = new FileInputStream("fos.txt");

        int num = fis.available();
        byte[] buf = new byte[num];//定义了一个刚刚好的缓冲区,不用再循环了
        fis.read(buf);
        System.out.println(new String(buf));
        fis.close();
    }
}

字节流的操作

时间: 2024-10-03 13:40:05

字节流的操作的相关文章

java之IO字节流相关操作

File对象可以表示存在的文件或文件夹,也可以表示不存在的.我们想要得到文件的内容怎么办,File只是操作文件,文件的内容如何处理就需要使用io流技术了.例如在C盘下有一个名称为a.txt的文本文件.想要通过Java程序读出来文件中的内容,需要使用IO流技术.同样想要将程序中的数据,保存到硬盘的文件中,也需要IO流技术. IO流简介:(Input/Output) I/O类库中使用"流"这个抽象概念.Java对设备中数据的操作是通过流的方式.表示任何有能力产出数据的数据源对象,或者是有能

java之IO输出字节流相关操作

输出字节流: --------| OutputStream 是所有输出字节流 的父类. 抽象类 -----------| FileOutStream 向文件输出数据的输出字节流. FileOutputStream如何使用呢? 1. 找到目标文件 2. 建立数据的输出通道. 3. 把数据转换成字节数组写出. 4. 关闭资源 方法一: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; p

黑马程序员——Java基础---IO(二)---IO字节流、流操作规律

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------   字节流 一.概述 1.字节流和字符流的基本操作是相同的,但字节流还可以操作其他媒体文件. 2.由于媒体文件数据中都是以字节存储的,所以,字节流对象可直接对媒体文件的数据写入到文件中,而可以不用再进行刷流动作. 3.读写字节流:Inpu

Java字节流操作

在java.io包中得操作主要有字节流与字符流两大类,两个类都有输入输出操作. 在字节流中,输出数据主要使用OutputStream类,输入使用的InputStream类. 在字符流中,输出数据使用Writer,输入数据使用Reader. 在Java中IO操作有相应的步骤,以文件的操作为例. (1)使用File类打开一个文件 (2)通过字节流或字符流的子类指定输出的位置. (3)进行读/写操作 (4)关闭输入/输出 字符流与字节流的区别: 字节流在操作时本身不会用到缓冲区(内存),是文件本身直接

文件操作的字节流和字符流

在java.io包中流的操作主要有字节流.字符流两大类,两类都有输入和输出操作.在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类. 在字符流中输出主要是使用Writer类完成,输入主要是使用Reader类完成. 这四个类都是抽象类,使用中需通过子类进行实例化(向上转型),或者直接使用子类进行io操作. 文件操作的字节流 FileOutputStream,FileInputStream.文件操作的字符流 FileWriter,FileReader. 一

java的IO操作:字节流与字符流操作

流的概念 程序中的输入输出都是以流形式,流中保存的实际上都是字节文件. 字节流与字符流 字节流的操作: 1)输入:inputStream, 2)输出:outPutStream; 字符流的操作: 1)输入主要使用:write类. 2)输出主要使用:reader类. 内容操作就四个类. 操作流程: 使用File类操作一定有路径问题,注意分隔符: 实际上四个操作类都是抽象类(区别接口,抽象类的成员都是抽象,并且只能单继承,接口可以有全局变量,但是接口可以多继承) IO操作属于资源操作,对于资源操作,操

Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)

学习目标 掌握流的概念 掌握字节流与字符流的作用 掌握文件的标准操作步骤 掌握字节与字符操作的区别 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序中需要数据的时候就用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输出都是以流的形式保存的,流中保存的实际上全部是字节文件. 字节流与字符流 在java.io包中操作文件内容的主要有两大类:字节流和字符流,两类都分为输入和输出操作.在字节流中输出数据主要是使用OutputStream完成,输入

字节流和字符流的区别

要把一片二进制数据逐一输出到某个设备中,或者从某个设备中逐一读取一片二进制数据,不管输入或者输出设备是什么,我们要用统一的方式来完成这些操作,用一种抽象的方式进行描述,这个抽象描述方式起名为IO流,对应的抽象类就是OutputStream和InputStream,不同的实现类就代表着不同的输出和输入设备,他们都是针对字节流进行操作的. 在实际应用中,经常完全是字符的一段文本输出或读取进来,用字节流可以吗?计算机中的一切最终都是二进制字节形式存在.对于"中国"这些字符,首先需要得到对于的

java中字节流与字符流的区别

字节流 在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字节流. 一.InputStream中的读取数据的方法如下: 1 .int read() 功能:读取一个字节的数据,并且返回读到得数据,如果返回-1,则表示读到输入流的末尾. 2.int read(byte[] b) 功能:从输入流中读取一定量的字节,并将其存储在字节数组b中,返回实际读取的字节数,如