FileIntputStream / FileOutputStream 类
import java.io.FileInputStream;
import java.io.FileNotFoundException; public class FileInputStreamTest { public static void main(String[] args) { try { // 1.创建FileInputStream类 的对象 与指定的文件关联 (相当于管道)
FileInputStream fis = new FileInputStream("E:\\abc.txt"); // 2. 读取文件中的内容 并且打印出来 int res = 0; while((res= fis.read())!=-1) { // 当 (res= fis.read())= -1 时,表示已经读完文件中的字节了 System.out.println("打印出读出的内容(int类型的ASCII码值): "+res);
System.out.println("打印出读出的字节内容(强转成char类型): "+(char)res);
System.out.println();
} // 3.关闭流对象 并释放资源
fis.close(); } catch (Exception e) {
e.printStackTrace();
} } }
打印出读出的内容(int类型的ASCII码值): 97
打印出读出的字节内容(强转成char类型): a 打印出读出的内容(int类型的ASCII码值): 98
打印出读出的字节内容(强转成char类型): b 打印出读出的内容(int类型的ASCII码值): 99
打印出读出的字节内容(强转成char类型): c 打印出读出的内容(int类型的ASCII码值): 100
打印出读出的字节内容(强转成char类型): d
package com.monkey1024; import java.io.FileInputStream;
import java.io.FileNotFoundException; public class FileInputStreamTest { public static void main(String[] args) { try { // 1.创建FileInputStream类 的对象 与指定的文件关联 (相当于管道)
FileInputStream fis = new FileInputStream("E:\\abc.txt"); // 2. 读取文件中的内容 并且打印出来 byte[] data = new byte[10]; //创建一个byte类型的数组 int res = fis.read(data);
System.out.println("实际读取到的数据大小是: "+res+",读取到的文内内容是:"+new String(data, 0, res) +"!");
//String中有个构造方法String(byte[] bytes)
//String(int[] codePoints, int offset, int count)
// 分配一个新的String,它包含 Unicode 代码点数组参数一个子数组的字符。
// 3.关闭流对象 并释放资源
fis.close(); } catch (Exception e) {
e.printStackTrace();
} } }
实际读取到的数据大小是: 4,读取到的文内内容是:abcd!
import java.io.FileOutputStream;
public class FileOutputStreamTest {
public static void main(String[] args) {
try {
// 1.创建FileOutputStream类的对象,与指定的文件关联
// 若文件不存在,则 自动创建新的空文件
// 若文件存在, 则 清空文件中的原有内容
FileOutputStream fos = new FileOutputStream("e:/hello.txt");
// 2. 使用write()可以向文件中 写入数据
fos.write(97); // a
fos.write(98); // b
fos.write(99); // c
fos.write("hello".getBytes()); // 转换成字符数组
System.out.println("数据写入成功.....");
// 3.关闭流操作
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果:
数据写入成功.....
注意:
// FileOutputStream fos = new FileOutputStream("e:/hello.txt",true);
在后面加 true,这样写的意思:
-若文件存在, 则向文件中追加新的数据内容;
-若文件不存在,则自动创建新的空文件
package com.monkey1024; import java.io.FileInputStream;
import java.io.FileOutputStream; public class FileCopyTest { public static void main(String[] args) { try {
// 1.创建FileInputStream类的对象,指向源文件 (读文件)
FileInputStream fis = new FileInputStream("E:\\reader.txt"); // 2.创建FileOutputStream类的对象,指向目标文件 (写文件) FileOutputStream fos = new FileOutputStream("E:\\readerCopy.txt"); // 3.读一个字节,写一个字节
// 不断地读取源文件中的内容 并且 写入到 目标文件中
// 这样可以实现文件的拷贝,但是 文件比较大的时候,效率低下
int res = 0;
while((res =fis.read())!= -1) {
fos.write(res);//写 } // 4.关闭流操作
fis.close();
fos.close();
System.out.println("拷贝完毕"); } catch (Exception e) {
e.printStackTrace();
} } }
拷贝完毕
package com.monkey1024; import java.io.FileInputStream;
import java.io.FileOutputStream; public class FileCopyTest { public static void main(String[] args) { try {
// 1.创建FileInputStream类的对象,指向源文件 (读文件)
FileInputStream fis = new FileInputStream("E:\\reader.txt"); // 2.创建FileOutputStream类的对象,指向目标文件 (写文件) FileOutputStream fos = new FileOutputStream("E:\\readerCopy.txt"); // 3.无论文件大小是多少,每次都准备一个1024整数倍的数组
// 这样做,效率高太多
byte[] data = new byte[1024*8]; int res = 0;
while((res = fis.read(data)) != -1){
fos.write(data,0,res);
} // 4.关闭流操作
fis.close();
fos.close();
System.out.println("拷贝完毕"); } catch (Exception e) {
e.printStackTrace();
} } }
拷贝完毕
FileIntputStream / FileOutputStream 类的更多相关文章
- java-io-FileInputStream与FileOutputStream类
本文转载这里FileInputStream和FileOutputStream类需要注意的问题: 1.FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输 ...
- 字节流与字符流(FileInputStream类和FileOutputStream类)
FileInputStream类和FileOutputStream类中,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流.例如: FileInputSte ...
- FileInputStream类与FileOutputStream类
FileInputStream类是InputStream类的子类.他实现了文件的读取,是文件字节输入流.该类适用于比较简单的文件读取,其所有方法都是从InputStream类继承并重写的.创建文件字节 ...
- FileInputStream与FileOutputStream类 Reader类和Writer类 解析
FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...
- FileInputStream与FileOutputStream类
FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...
- 字节流, FileOutputStream类,FileInputStream类,复制文件,字符流
字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节 基本方法: 子类可继承调用以上方法 FileOutputStream类 构造方 ...
- 一切皆为字节和字节输出流_OutputStream类&FileOutputStream类介绍
一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使用什 ...
- IO概述(概念&分类)和字节输入流+OUTputStream类&FileOutPutStream类介绍
IO概述 什么是IO 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了保存,可能文件就白白编辑了.当你的电脑上插入一个U盘,可以吧一个视频,拷贝到你的电脑硬盘里,那么数据都是在哪些设备上的 ...
- java.io.FileOutputStream类的5个构造方法
java.io.FileOutputStream的构造函数: ①FileOutputStream(File file) ②FileOutputStream(String name) ③FileOutp ...
随机推荐
- Chsh- Linux必学的60个命令
1.作用 chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者. 2.格式 chsh [ -s ] [ -list] [ --help ] [ -v ] [ username ] 3 ...
- [51nod-1364]最大字典序排列
[51nod-1364]最大字典序排列 Online Judge:51nod-1364 Label:线段树,树状数组,二分 题目描述 题解: 根据题意很容易想到60%数据的\(O(N^2logN)\) ...
- 全面解析Spring中@ModelAttribute注解的用法
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:全面解析Spring中@ModelAttribute注解的用法: @ModelAttribute注解用于将方法的参数或方法的返回值绑定到 ...
- SQLServer-SQLServer2017:安装 SQL Server 的硬件和软件要求
ylbtech-SQLServer-SQLServer2017:安装 SQL Server 的硬件和软件要求 1.返回顶部 1. 安装 SQL Server 的硬件和软件要求 2018/11/06 适 ...
- 原生js实现头像大屏随机显示
效果如下图所示: 一.html部分 <div class="myContainer"> <ul> <li class="first" ...
- DSP日志打印 LOG_printf
LOG_printf 依托BIOS环境,需要引用下列头文件: #include <std.h> #include <log.h> 并且,要在.tcf环境中添加一个LOG ...
- 关于mapreduce 开发环境部署和jar包拷贝问题
1.mapreduce开发应当在linux里面的eclipse不然容易出现问题. 2.把eclipse拷贝到linux环境中,然后需要拷贝hadoop-eclipse-plugin-2.3.0.jar ...
- Leetcode551.Student Attendance Record I学生出勤记录1
给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤纪录中不超过一个' ...
- Layui 获取表单提交数据
HTML<div class="layui-card-header layuiadmin-card-header-auto"> <form class=" ...
- Odoo 中的widget
many2many_tags one2many_list selection progressbar selection statusbar handle monetary mail_thread s ...