FileInputStream和FileOutputStream
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的更多相关文章
- 【Java IO】FileInputStream 和 FileOutputStream
class FileInputStream extends InputStream implements Closeable
- 2016-9-6 批量给文件名的前面加上“igeek_高薪就业” 2、 利用FileInputStream和FileOutputStream复制文件
在此只列出典型题目,有的题目扫一眼就有代码的不去浪费时间了,想要完整题目的评论留邮箱,看到就发.持续更新中... 1.批量给文件名的前面加上“igeek_高薪就业” package com.work; ...
- java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr
BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWri ...
- 深入解析FileInputStream和FileOutputStream
http://swiftlet.net/archives/1363 FileInputStream和FileOutputStream类属于字节类,可以操作任意类型的文件.在数据流的处理过程中,有两种情 ...
- FileInputStream和FileOutputStream详解
一.引子 文件,作为常见的数据源.关于操作文件的字节流就是 FileInputStream & FileOutputStream.它们是Basic IO字节流中重要的实现类.二.FileInp ...
- [八]JavaIO之FileInputStream 与 FileOutputStream
接下来介绍 FileInputStream 和 FileOutputStream 现在看名字应该可以看得出来: 他就是从一个文件中读取数据 或者将数据写入到一个文件中 FileInputStream ...
- java io系列07之 FileInputStream和FileOutputStream
本章介绍FileInputStream 和 FileOutputStream 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_07.html File ...
- java-IO流-字节流-概述及分类、FileInputStream、FileOutputStream、available()方法、定义小数组、BufferedInputStream、BufferedOutputStream、flush和close方法的区别、流的标准处理异常代码
1.IO流概述及其分类 * 1.概念 * IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * ...
- FileInputstream,FileOutputstream 和 byteArrayInputStream,byteArrayOutputStream
你知道FileInputstream和FileOutputstream吗?FileInputstream,FileOutputstream分别是由抽象类Inputstream和Outputstream ...
- FileInputStream 和 FileOutputStream
简介 FileInputStream和FileOutputStream都是用来处理二进制数据源磁盘文件的流的. 他们分别派生自顶层抽象类InputStream和OutputStream FileInp ...
随机推荐
- jQuery AJAX 常见属性
1 jQuery.ajax(...) 2 部分参数: 3 url:请求地址 4 type:请求方式,GET.POST(1.9.0之后用method) 5 headers:请求头 6 data:要发送的 ...
- 【已解决】ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)---mysql数据库本地服务器localhost连接失败
出现错误mysql数据库本地服务器localhost连接失败: 1.输入命令 mysql -uroot -p 输入密码进入数据库发现错误 2.输入命令 mysqld --install 出现Serv ...
- C++设计模式 - 享元模式(Flyweight)
对象性能模式 面向对象很好地解决了"抽象"的问题,但是必不可免地要付出一定的代价.对于通常情况来讲,面向对象的成本大都可以忽略不计.但是某些情况,面向对象所带来的成本必须谨慎处理. ...
- #并查集#JZOJ 4223 旅游
题目 多次询问有多少个无序点对\((x,y)\), 满足至少有一条最大边权\(\leq d\)的路径 分析 离线询问,用并查集加边,每次产生的贡献为\(2*siz[x]*siz[y]\) 代码 #in ...
- CSP2020-S 游记
10.11 CSP-S1 自从国庆假期回到学校我申请停课, 从此开始了长达近一个的停课生活. 初赛也是有惊无险地过去了. 一出来发现自己仍旧是大考必败型选手, 对了答案发现我其实错了挺多的, 可能是因 ...
- java中的类型擦除type erasure
目录 简介 举个例子 原因 解决办法 总结 简介 泛型是java从JDK 5开始引入的新特性,泛型的引入可以让我们在代码编译的时候就强制检查传入的类型,从而提升了程序的健壮度. 泛型可以用在类和接口上 ...
- C 语言文件读取全指南:打开、读取、逐行输出
C 语言中的文件读取 要从文件读取,可以使用 r 模式: FILE *fptr; // 以读取模式打开文件 fptr = fopen("filename.txt", "r ...
- HMS Core机器学习服务,高效助力跨语种沟通
5月24日, HUAWEI Developer Day(简称HDD)线上沙龙·创新开发专场活动成功举办.HMS Core机器学习服务(ML Kit)产品经理在会上围绕机器翻译的技术优势.使用场景和接入 ...
- 深度优先搜索-overview
深度优先搜索的实现一般有2种方式 递归 //todo 非递归-借助stack 因为栈后进先出的特点,使其很容易实现树/图的深度优先遍历.如果是BFS,那非递归经常借助queue. 整个过程可以被描述为 ...
- .NET Emit 入门教程:第六部分:IL 指令:8:详解 ILGenerator 指令方法:类型转换指令
前言: 经过前面几篇的学习,我们了解到指令的大概分类,如: 参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令. 参数存储指令,其指令以 St 开头,将栈中的数据,存储到 ...