FileInputstream 字节输入流

用于文件内容的读取操作.

创建FileInputstream对象用于读取文件内容,使用后需要进行关闭操作

常用方法:

read(); //每次仅读取一个字节,返回值为-1时说明读取到文件尾

read(byte[] buff); //每次读取指定个数字节的内容,返回值为读取字节的个数,-1时读取到文件尾

close(); //关闭文件流


package com.cn.file;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; public class FileInputS {
@Test
public void fIleInput01(){
FileInputStream inputStream =null;
String filePath="F:\\y\\file02.txt";
int t=0;
try {
inputStream = new FileInputStream(filePath);
while((t=inputStream.read())!=-1){ //每次仅读取一个字节,中文会乱码,到-1时说明文
// 件到达结尾
System.out.print((char)t);
} } catch (IOException e) {
e.printStackTrace();
} finally {
try {
inputStream.close(); //关闭输入流
} catch (IOException e) {
e.printStackTrace();
}
} } @Test
public void fIleInput02(){
FileInputStream inputStream =null;
String filePath="F:\\y\\file02.txt";
byte[] t=new byte[5];
int num=0;
try {
inputStream = new FileInputStream(filePath);
while((num=inputStream.read(t))!=-1)
{ //每次读取指定的字节个数,到-1时说明文件到达结尾,read()方法的返回值为读取的个数,也
// 就是更新到数组中的个数,当文件还远大于数组个数时为数组的大小,当小于数组个数时,为
//小于数组长度的一个数,但不为-1.等下次则为-1. System.out.print(new String(t,0,num));
//new String(t,0,num);参数分别为数组,数组起始位置,读取数组的个数,然后将数组
// 中的值作为字符转化为字符串
} } catch (IOException e) {
e.printStackTrace();
} finally {
try {
inputStream.close(); //关闭输入流
} catch (IOException e) {
e.printStackTrace();
}
} } }

运行结果:

FileOutputStream 文件输出流

文件输出流,用于文件内容的写入操作

构造方法:

FileOutputStream(String filePath); //参数为文件路径,原来文件中的内容被清空,重新写入

FileOutputStream(String filePath , Boolean append); //参数为文件路径,append为true时以追加的方式写入内容,原来文件中的内容依旧存在,新写入的内容追加在原来的内容之后

常用方法:

write(int a); //写入单个字符

write(byte[] buff); //写入整个数组内容

write(byte[] buff,int offset,int length);//写入数组指定位置的内容

close(); // 关闭文件流


package com.cn.file;
import org.junit.Test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets; public class FileOutputS { @Test
public void FileOutput(){
String filePath1="F:\\y\\file01.txt";
String filePath2="F:\\y\\file02.txt";
FileOutputStream fileOutputStream01=null;
FileOutputStream fileOutputStream02=null;
try {
fileOutputStream01=new FileOutputStream(filePath1);
//已覆盖的方式写入 fileOutputStream02=new FileOutputStream(filePath2,true);
//已追加到结尾的方式写入 fileOutputStream01.write('a'); //写入单个字符或数字,将文件之前存的内容覆盖 String str="Hello";
fileOutputStream01.write(str.getBytes());
//写入整个数组内容,不会覆盖上面写入的a,因为这是一次打开
//str.getBytes()方法用于将字符串转化为字符数组 fileOutputStream01.write(str.getBytes(StandardCharsets.UTF_8),0,3);
//写入数组的指定位置指定个数内容 fileOutputStream02.write('a');//写入单个字符a,之前的文件内容依旧保留
fileOutputStream02.write(str.getBytes());//写入Hello
fileOutputStream02.write(str.getBytes(),0,3);//写入Hel } catch (IOException e) {
e.printStackTrace();
}finally {
try {
fileOutputStream01.close();
fileOutputStream02.close();
} catch (IOException e) {
e.printStackTrace();
} } }
}

运行结果:

FileInputStream和FileOutputStream的更多相关文章

  1. 【Java IO】FileInputStream 和 FileOutputStream

    class FileInputStream extends  InputStream implements Closeable

  2. 2016-9-6 批量给文件名的前面加上“igeek_高薪就业” 2、 利用FileInputStream和FileOutputStream复制文件

    在此只列出典型题目,有的题目扫一眼就有代码的不去浪费时间了,想要完整题目的评论留邮箱,看到就发.持续更新中... 1.批量给文件名的前面加上“igeek_高薪就业” package com.work; ...

  3. java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr

    BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWri ...

  4. 深入解析FileInputStream和FileOutputStream

    http://swiftlet.net/archives/1363 FileInputStream和FileOutputStream类属于字节类,可以操作任意类型的文件.在数据流的处理过程中,有两种情 ...

  5. FileInputStream和FileOutputStream详解

    一.引子 文件,作为常见的数据源.关于操作文件的字节流就是 FileInputStream & FileOutputStream.它们是Basic IO字节流中重要的实现类.二.FileInp ...

  6. [八]JavaIO之FileInputStream 与 FileOutputStream

    接下来介绍 FileInputStream  和 FileOutputStream 现在看名字应该可以看得出来: 他就是从一个文件中读取数据 或者将数据写入到一个文件中 FileInputStream ...

  7. java io系列07之 FileInputStream和FileOutputStream

    本章介绍FileInputStream 和 FileOutputStream 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_07.html File ...

  8. java-IO流-字节流-概述及分类、FileInputStream、FileOutputStream、available()方法、定义小数组、BufferedInputStream、BufferedOutputStream、flush和close方法的区别、流的标准处理异常代码

    1.IO流概述及其分类 * 1.概念      * IO流用来处理设备之间的数据传输      * Java对数据的操作是通过流的方式      * Java用于操作流的类都在IO包中      *  ...

  9. FileInputstream,FileOutputstream 和 byteArrayInputStream,byteArrayOutputStream

    你知道FileInputstream和FileOutputstream吗?FileInputstream,FileOutputstream分别是由抽象类Inputstream和Outputstream ...

  10. FileInputStream 和 FileOutputStream

    简介 FileInputStream和FileOutputStream都是用来处理二进制数据源磁盘文件的流的. 他们分别派生自顶层抽象类InputStream和OutputStream FileInp ...

随机推荐

  1. Python爬取国家统计局2009至2020统计用区划和城乡划分代码(省市区/县三级)并存入mysql数据库

    国家统计局->统计标准网址:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/ 获取资源请关注公众号 [靠谱杨阅读人生]回复[城乡分类]获取 流程 ...

  2. LiftPool:双向池化操作,细节拉满,再也不怕丢特征了 | ICLR 2021

    论文参考信号处理中提升方案提出双向池化操作LiftPool,不仅下采样时能保留尽可能多的细节,上采样时也能恢复更多的细节.从实验结果来看,LiftPool对图像分类能的准确率和鲁棒性都有不错的提升,而 ...

  3. set集合的TreeSet类

    TreeSet 类 TreeSet类是Set接口的一个实现类,主要作用是用于对对象的排序以及确定存入对象的唯一性. 它的底层是红黑树,用来确保元素的排序和唯一性的,基于map对象,TreeSet是对T ...

  4. #线段树合并#洛谷 3224 [HNOI2012]永无乡

    题目 分析 和主席树不同的是,线段树合并后原树的信息不会保留, 这样就保证空间和常数都比较小,这题比较裸,直接上代码 代码 #include <cstdio> #include <c ...

  5. 30分钟成为Contributor|如何多方位参与OpenHarmony开源贡献?

    如何优雅地参与开源贡献,向顶级开源项目提交 PR(Pull Request).战"码"先锋直播间第八期围绕"OpenAtom OpenHarmony(以下简称" ...

  6. C++获取appdata路径

    C++获取appdata路径的方式:    SHGetSpecialFolderPath wchar_t buffer[MAX_PATH]; SHGetSpecialFolderPath(0, buf ...

  7. openGauss关于PL/SQL匿名块调用测试

    openGauss 关于 PL/SQL 匿名块调用测试 一.原理介绍 PL/SQL(Procedure Language/Structure Query Language)是标准 SQL 语言添加了过 ...

  8. 重新点亮shell————什么是shell[一]

    前言 这里简介一下什么是shell. 写linux和shell 系列是为了后面的docker 系列的整理,本来想直接整理k8s的,但是呢,想想docker 系列整理完了的话,那么整理k8s系列就没有那 ...

  9. 融合数据库生态:利用 EventBridge 构建 CDC 应用

    简介: 近期,EventBridge 事件流已经支持了基于阿里云 DTS服务的 CDC 能力.本文将从 CDC.CDC 在 EventBridge 上的应用以及若干最佳实践场景等方面,为大家介绍如何利 ...

  10. 使用Databricks+Mlflow进行机器学习模型的训练和部署【Databricks 数据洞察公开课】

    简介: 介绍如何使用Databricks和MLflow搭建机器学习生命周期管理平台,实现从数据准备.模型训练.参数和性能指标追踪.以及模型部署的全流程. 作者:李锦桂   阿里云开源大数据平台开发工程 ...