Java语言中的文件数据流示例详解

 更新时间:2022年11月02日 15:33:57   作者:YWuHuang  
这篇文章主要为大家介绍了Java语言中的文件数据流示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

文件数据流

在java语言中,进行文件输入和输出时,经常会使用到FileIntputStream和FileOutputStream两个文件数据流。它们分别是抽象类InputStream和抽象类OutputStream的子类。

FileInputStream

FileInputStream的构造方法:

  • FileInputStream(File file):通过打开一个到实际文件的连接来创建一个FileInputStream对象,该文件通过文件系统中的File对象file指定。
  • FileInputStream(String name):通过打开一个到实际文件的连接来创建一个FileInputStream对象,该文件通过文件系统中的路径名name来指定。
  • 代码示例:
FileInputStream inFile=new FileInputStream("xxx.xxx");//文件名.文件类型

FileOutputStream

FileOutputStream构造方法:

  • FileOutputStream(File file[ , boolean addFlag ]):创建一个向指定File对象表示的文件中写入数据的文件输出流。
  • FileOutputStream(FileDescriptor fdObj):创建一个向指定文件描述符处写入数据的输出文件流,该文件描述表示一个文件系统中的某个实际文件的现有连接。
  • FileOutputStream(String name[ ,boolean addFlag ]):创建一个向具有指定name的文件中写入数据的输出文件流
  • 代码示例:
FileOutputStream outFile=new FileOutputStream("xxx.xxx"); //文件名.文件类型,如 a.bat

举个栗子

我们将一个文件中的数据复制到另一个文件

  • 比如,将a.txt文件数据复制到b.txt

  • 代码示例
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyA {
    public static void main(String[] args) {
        String curPath=System.getProperty ( "user.dir" );//得到用户当前工作目录
        System.out.println (curPath);
        try {
            //文件输入流
            FileInputStream inFile=new FileInputStream ( curPath+"/a.txt" );
            //文件输出流
            FileOutputStream outFile =new FileOutputStream ( curPath+"/b.txt" );
            //返回可以不受阻塞地从此文件输入流中读取的字节数
            while(inFile.available ()>0){
                int ch=inFile.read (); //从输入流中读取字符,并返回
                outFile.write (ch);    //将字符ch写到输出流中
            }
            inFile.close (); //关闭输入流
            outFile.close ();//关闭输出流
        }catch (FileNotFoundException e){
            System.out.println ("文件无法打开");
        }catch (IOException e){
            System.out.println ("文件无法读写");
        }
    }
}

以上就是Java语言中的文件数据流示例详解的详细内容,更多关于Java语言文件数据流的资料请关注脚本之家其它相关文章!

相关文章

  • java中stream去重的几种方式举例

    java中stream去重的几种方式举例

    Stream流是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列,这篇文章主要给大家介绍了关于java中stream去重的几种方式,需要的朋友可以参考下
    2023-07-07
  • 关于Java中XML Namespace 命名空间问题

    关于Java中XML Namespace 命名空间问题

    这篇文章主要介绍了Java中XML Namespace 命名空间,XML命名空间是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合,该集合通常称作 XML“词汇”,对XML Namespace 命名空间相关知识感兴趣的朋友一起看看吧
    2021-08-08
  • SpringBoot集成Druid连接池连接MySQL8.0.11

    SpringBoot集成Druid连接池连接MySQL8.0.11

    这篇博客简单介绍spring boot集成druid连接池的简单配置和注意事项,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Spring中的@Repository注解源码详解

    Spring中的@Repository注解源码详解

    这篇文章主要介绍了Spring中的@Repository注解详解,@Repository注解修饰哪个类,则表明这个类具有对对象进行增删改查的功能,而且@Repository是@Component注解的一个派生品,所以被@Repository注解的类可以自动的被@ComponentScan通过路径扫描给找到,需要的朋友可以参考下
    2023-10-10
  • java前后端使用ajax数据交互问题(简单demo)

    java前后端使用ajax数据交互问题(简单demo)

    这篇文章主要介绍了java前后端使用ajax数据交互问题(简单demo),具有很好的参考价值,希望对大家有所帮助。
    2023-06-06
  • SpringSecurity6.x多种登录方式配置小结

    SpringSecurity6.x多种登录方式配置小结

    SpringSecurity6.x变了很多写法,本文就来介绍一下SpringSecurity6.x多种登录方式配置小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 基于SpringBoot实现动态配置数据库的加载

    基于SpringBoot实现动态配置数据库的加载

    这篇文章主要介绍了Spring Boot 如何动态配置数据库的加载,现项目有一个需求,期望通过在application.yml配置文件中设置一个开关,来决定是否加载数据库,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-10-10
  • Flink作业Task运行源码解析

    Flink作业Task运行源码解析

    这篇文章主要为大家介绍了Flink作业Task运行源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringBoot定时任务多线程实现示例

    SpringBoot定时任务多线程实现示例

    在真实的Java开发环境中,我们经常会需要用到定时任务来帮助我们完成一些特殊的任务,本文主要介绍了SpringBoot定时任务多线程实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 轻松掌握Java迭代器模式

    轻松掌握Java迭代器模式

    这篇文章主要帮助大家轻松掌握Java迭代器模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09

最新评论