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语言文件数据流的资料请关注脚本之家其它相关文章!

相关文章

  • MyBatis 核心组件Configuration实例详解

    MyBatis 核心组件Configuration实例详解

    Configuration用于描述 MyBatis 的主配置信息,其他组件需要获取配置信息时,直接通过 Configuration 对象获取,这篇文章主要介绍了MyBatis核心组件Configuration,需要的朋友可以参考下
    2023-08-08
  • Java Maven构建工具中mvnd和Gradle谁更快

    Java Maven构建工具中mvnd和Gradle谁更快

    这篇文章主要介绍了Java Maven构建工具中mvnd和Gradle谁更快,mvnd 是 Maven Daemon 的缩写 ,翻译成中文就是 Maven 守护进程,下文更多相关资料,需要的小伙伴可以参考一下
    2022-05-05
  • Java实现将PPT转为OFD过程详解

    Java实现将PPT转为OFD过程详解

    本文将通过Java后端程序代码展示如何实现将PPT幻灯片转成OFD格式,文中的示例代码讲解详细,对我们学习或工作有一定的帮助,需要的可以参考一下
    2022-01-01
  • 史上最通俗理解的Java死锁代码演示

    史上最通俗理解的Java死锁代码演示

    这篇文章主要给大家介绍了关于Java死锁代码演示的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SpringMVC使用JsonView针对统一实体返回不同信息

    SpringMVC使用JsonView针对统一实体返回不同信息

    这篇文章主要为大家介绍了SpringMVC使用JsonView针对统一实体返回不同信息,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Netty源码分析NioEventLoop线程的启动

    Netty源码分析NioEventLoop线程的启动

    这篇文章主要为大家介绍了Netty源码分析NioEventLoop线程的启动示例,有需要的朋友,可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Java中消息队列任务的平滑关闭详解

    Java中消息队列任务的平滑关闭详解

    对于消息队列的监听,我们一般使用Java写一个独立的程序,在Linux服务器上运行。程序启动后,通过消息队列客户端接收消息,放入一个线程池进行异步处理,并发的快速处理。这篇文章主要给大家介绍了关于Java中消息队列任务的平滑关闭的相关资料,需要的朋友可以参考下。
    2017-11-11
  • java如何更改数据库中的数据

    java如何更改数据库中的数据

    这篇文章主要介绍了java如何更改数据库中的数据,修改数据库是数据库操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改数据表中的数据,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • Android接入微信支付的方法

    Android接入微信支付的方法

    这篇文章主要介绍了Android接入微信支付的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 基于@Bean修饰的方法参数的注入方式

    基于@Bean修饰的方法参数的注入方式

    这篇文章主要介绍了@Bean修饰的方法参数的注入方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论