基本IO操作(一)

本文介绍了Java中的基本IO操作,包括数据流的概念,输入流和输出流的区别,以及节点流和处理流的定义。重点讲解了FileOutputStream的使用,用于向文件写入数据,展示了如何在重写和追加模式下创建FOS对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本IO操作(一)

数据流:
一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。

2) 输入流(Input Stream):

  程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道

3) 输出流:

程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络…)的通信通道。

采用数据流的目的就是使得输出输入独立于设备。

Input Stream不关心数据源来自何种设备(键盘,文件,网络) Output Stream不关心数据的目的是何种设备(键盘,文件,网络)
3) 节点流:可以从或向一个特定的地方(节点)读写数据。也称作 低级流 如FileReader

4) 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。也被称作 高级流。

创建FOS对象(重写模式)

  1. FileOutputStream(File file):
    创建一个指定的File对象表示文件写出数据的文件输出流。
  2. FileOutputStream(String filename)
    创建一个具有指定名称的文件中写出数据的文件输出流

    实例:
    1、节点流用于从文件中读取数据

package day02;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * FileInputStream
 * 节点流
 * 用于从文件中读取数据
 * @author Administrator
 *
 */
public class FisDemo {

    public static void main(String[] args) throws IOException {
         FileInputStream fis =new FileInputStream("fos.dat");

         int i=fis.read();
         System.out.println(i);//97

         byte[] buf=new byte[21];
         int len =fis.read(buf);

         String str=new String(buf,"utf-8");

         System.out.println(str);
         fis.close();

    }

}

2、用于写出文件中的数据

package day02;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * FileOutputStream
 * 节点流
 * 用于向文件中写出字节的流
 * @author Administrator
 *
 */
public class FosDemo {

    public static void main(String[] args) throws IOException {
         FileOutputStream fos=new FileOutputStream(
                 "fos.dat" );

         fos.write(97);

         String str ="天安门官场";
         byte[] buf=str.getBytes("utf-8");

         fos.write(buf);

         fos.close();


    }

}

创建FOS对象(追加模式)

  1. FileOutputStream(File file,boolean append):
    创建一个指定的File对象表示文件写出数据的文件输出流。
  2. FileOutputStream(String filename,boolean append)
    创建一个具有指定名称的文件中写出数据的文件输出流

实例:

package day02;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 使用文件字节流对已有的文件进行读写操作的注意事项
 * @author Administrator
 *
 */
public class FosDemo2 {

    public static void main(String[] args) throws IOException {
        /**
         * FileOutputStream支持一个重载的构造方法
         * FileOutputStream(String str,boolean append)
         * 第二个参数指定是否进行追加写操作
         * 若不追加,当前文件的所有内容会被清除。然后重新写数据。
         * 要注意 
         */
        FileOutputStream fos=new FileOutputStream("fos.dat",true);

        fos.write(20);
        fos.close();
        System.out.println("追加成功!");
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值