Java语言中的文件数据流示例详解
作者:YWuHuang 发布时间:2023-05-12 19:55:29
标签: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 ("文件无法读写");
}
}
}
来源:https://juejin.cn/post/7158838132421918734


猜你喜欢
- 先执行以一个简单的示例:static void Main(string[] args) { &nb
- 1.什么是Ribbon目前主流的负载均衡方案分为以下两种:(1)集中式负载均衡:在消费者和服务提供者中间使用独立的代理方式进行负载,有硬件的
- 本文适合有 Java 基础的人群作者:DJL-LankingHelloGitHub 推出的《讲解开源项目》系列。有幸邀请到了亚马逊 + Ap
- 一、MyBatis的逆向⼯程(1)所谓的逆向⼯程是:根据数据库表逆向⽣成Java的pojo类,SqlMapper.xml⽂件,以及Mappe
- 大家好,因为近期做需求中遇到了文件上传这个东西,而且我这个还是跨服务去传输文件的所以我这边使用了httpclient和RestTemplat
- C#申请一个大数组(Use a large array in C#)在C#里,有时候我需要能够申请一个很大的数组、使用之、然后立即释放其占用
- 反编译jar包并修改class文件重新打包这两天碰到一个需求:需要修改一个jar包中的逻辑代码,并且重新打包本来是很简单的问题,但是因为这个
- 一、为什么要学习并发编程对于 “我们为什么要学习并发编程?” 这个问题,就好比 “我们为什么要学习政治?” 一样,我们(至少作为学生党是这样
- * 验证码地址:https://007.qq.com/online.html* 使用OpenCv模板匹配* 成功率90%左右* Java +
- 本文实例为大家分享了Android实现背景图片轮播的具体代码,供大家参考,具体内容如下点击按钮实现图片轮播效果实践案例:xml<?xm
- AssertJ是我目前见过的最强大的断言api,没有之一。官网传送门为什么使用assertJ?1、流式断言,代码即用例,直观易懂。举个例子:
- 发展历史Gradle 的依赖管理是一个从开始接触 Android 开发就一直伴随着我们的问题(作者是Andro
- 报错:Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLeni
- Android 5.0 后用 Battery Historian 工具分析电量。耗电因素移动网络请求手机通过内置的射频模块和基站联系,从而链
- 之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试的,今天使用 Android 6.0 的设备测试的时候,发现扫描
- 摘要本文主要讲解mall通过整合SpringSecurity和JWT实现后台用户的登录和授权功能,同时改造Swagger-UI的配置使其可以
- 最近在开发关于java读取ftp中TXT文件,其中有些坑踩了一下,再次做个记录1、读取文件时我会根据文件名称去生成数据库表,oracle数据
- /// <summary>/// 生成二维码/// </summary>/// <param name=&qu
- 之前用View Pager做了一个图片切换的推荐栏(就类似与淘宝、头条客户端顶端的推荐信息栏),利用View Pager很快就能实现,但是一
- 本文实例讲述了C#遍历子目录的方法。分享给大家供大家参考。具体实现方法如下:DirectoryInfo directoryInfo = ne