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 ...
随机推荐
- @RestControllerAdvice作用及原理
原文:Spring Boot 系列(八)@ControllerAdvice 拦截异常并统一处理 在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@Exceptio ...
- HTML给div设置百分比高度无效的解决方式 - 库塔姆斯 - CSDN博客
原文:HTML给div设置百分比高度无效的解决方式 - 库塔姆斯 - CSDN博客 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/HobHunter ...
- HLog工作原理
- 初识莫队——小Z的袜子
以前一直觉得莫队是多么高大上的一种算法,然而仔细看了下发现其实并不复杂,实质上就是技巧性的暴力美学. 在我看来莫队是一种分块排序后降低复杂度的算法,当答案可以通过左右端点一个一个移动维护出来的时候就可 ...
- windows 遍历目录下的所有文件 FindFirstFile FindNextFile
Windows下遍历文件时用到的就是FindFirstFile 和FindNextFile 首先看一下定义: HANDLE FindFirstFile( LPCTSTR lpFileName, // ...
- 高德地图(AMap)JavaScript API的使用
申请JSAPI的开发者key 申请地址:http://lbs.amap.com/dev/key 引入高德地图JavaScript API文件: <script type="text/j ...
- light oj 1079 01背包
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...
- IntelliJ IDEA 如何在同一个窗口创建多个项目
一.IntelliJ IDEA与Eclipse的区别 二.在同一个窗口创建多个项目 1.打开IntelliJ IDEA,点击Create New Project 2.Java Enterprise ...
- phpStrom编辑器 通过 git 提交代码到 gitlab
前提: 1.已经成功安装 git: 2.将 phpstrom 和 gitlab 连接起来.参考此文章 一.在 phpstrom 中打开需要推送的项目 二.将 ‘工作区’ 代码 添加到 ‘暂存区’ 三. ...
- 使用Maven编译运行Storm入门代码(Storm starter)(转)
Storm 官方提供了入门代码(Storm starter),即 Storm安装教程 中所运行的实例(storm-starter-topologies-0.9.6.jar),该入门代码位于 /usr/ ...