Java学习笔记-Java文件操作流
day03
输入输出流:读入写出
节点流:
有明确的来源和去向
往往对字节操作
节点流又叫低级流、字节流
处理流:
没有明确的来源和去向
往往对低级流或其他高级流进行操作,不能独立存在
处理流又叫高级流
*FileOutputStream fos=new FileOutputStream("a.txt",true); //创建对象,在当前目录下创建一个名为“a”的txt文件
//FileOutputStream默认会覆盖原有的内容 若不想被覆盖,声明对象时添加一个参数true
* String message="断剑重铸之日,其势归来之时。";
* fos.write(message.getBytes());
*fos.close() //记得关闭流,否则可能会造成严重后果
例:用字节流来复制某个文件
*FileInputStream fis1=new FileInputStream("文件名.文件类型"); //读入
* long ms1=System.currentTimeMillis();
* byte []buf1=new byte[文件大小(单位b)];
* fis1.read(buf1);
* FileOutputStream fis2=new FileOutputStream("复制的文件文件名.文件类型"); //写出
* fis2.write(buf1);
* long ms2=System.currentTimeMillis();
* System.out.println(ms2-ms1); //用时(毫秒)
* fis2.close();
BufferedInputStream/BufferedOutputStream:
缓冲高级流。内部维护了一个缓冲区,当我们需要写出数据时,会将数据存放在缓冲区,当缓冲区满时,一次性将数据写出。高级流需要用要用低级流作为辅助。
*FileOutputStream fos=new FileOutputStream("b.txt"); //低级流(字节流)
*BufferedOutputStream bos=new BufferedOutputStream(fos); //高级流 (两者都为写出流)
* String message="德玛西亚之力";
* byte[]buf=message.getBytes(); //将字符串转换为字节,用数组接收
* bos.write(buf); //写出
* bos.close(); //关闭高级流即可
用高级流复制文件:
BufferedInputStream bos = new BufferedInputStream(fos);
byte[] b = new byte[10240]; //可以不调用数组进行复制
FileOutputStream fis = new FileOutputStream("复制出的文件文件名.文件类型");
BufferedOutputStream bis = new BufferedOutputStream(fis);
long a1 = System.currentTimeMillis();
int i = -1;
while ((i = bos.read(b)) != -1) { //(i = bos.read()) != -1 此注释与数组相关
bis.write(b);
//bis.write(i);
}
bis.close();
bos.close();
long a2 = System.currentTimeMillis();
System.out.println(bs - a); //计算用时(单位毫秒)
Java学习笔记-Java文件操作流的更多相关文章
- Java 学习笔记(14)—— 文件操作
java文件操作主要封装在Java.io.File中,而文件读写一般采用的是流的方式,Java流封装在 java.io 包中.Java中流可以理解为一个有序的字符序列,从一端导向到另一端.建立了一个流 ...
- 【java学习笔记】文件操作
文件操作 java.io.File ①创建删除文件及目录 ②查看文件及目录属性 ③文件过滤器 (PS:不包括文件读写数据) 1.单个文件 创建单个文件,查看属性,删除单个文件. package tmp ...
- java学习笔记07--日期操作类
java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
- Java学习之==>IO文件操作体系
一.概述 在整个 Java.io 中最重要的就是5个类和一个接口.5个类指的是 File.InputStream.OutputStream.Reader.Writer,一个接口指的是Serializa ...
- Java学习笔记43(打印流、IO流工具类简单介绍)
打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(Outpu ...
- Java学习笔记38(字符流)
字符输出流:Writer类:使用时候需要它的子类 局限性:只能写文本文件,无法写其他文件 方法: package demo; import java.io.FileWriter; import jav ...
- C++ 学习笔记之——文件操作和文件流
1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...
- Java学习笔记-Java中的常用类
Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,Math System System:类中的方法和属性都是静态的 字段摘要 static PrintSt ...
随机推荐
- luogu P4462 [CQOI2018]异或序列 |莫队
题目描述 已知一个长度为n的整数数列a1,a2,...,an,给定查询参数l.r,问在al,al+1,...,ar区间内,有多少子序列满足异或和等于k.也就是说,对于所有的x,y (I ≤ x ≤ ...
- luogu P1044 栈
题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即poppop(从栈顶弹出一个元素)和pushpush(将一个元素进栈). 栈的重要性 ...
- go实践之apiserver搭建
文章目录 go实践之apiserver搭建 1.配置文件读取 2.数据连接 3.日志初始化 4.server初始化 5.接口编写 go实践之apiserver搭建 本文主要记录下博主用gin搭建app ...
- HDU 1520 Anniversity party
There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The Un ...
- 使用iCamera 测试MT9F002 1400w高分辨率摄像头说明
一.硬件准备 l MT9F002摄像头模块 l iCamera 硬件主板CC1601 l MT9F002转接板(FPC_MT9F002 CB1602) 二.软件准备 l 下载iCamera软件 l 安 ...
- 静态页面开发JS页面跳转加密解密URL和参数
页面跳转加密URL地址参数传递 window.location.href="foot.html?"+"good="+encodeURI(encodeURI(go ...
- Java题整
Java面试题整 http://www.cnblogs.com/remember-forget/p/6140166.html 上:http://blog.csdn.net/jackfrued/arti ...
- Java8-Lamda和Stream原理引入
一说明 这边文章主要是带大家为什么会有lamda表达式的出现,流式思想的产生.具体的Lamda表达式操作,Stream流会在后面的文章更新,有兴趣的朋友也可以加一下我微信公众号,分享学习干货. 二ja ...
- vue bus.js 使用方法
1 ,新建bus.js 内容如下 2,bus.$emit 绑定数据 bus.$emit('tags', this.tagsList); 第一个参数为定义的变量,第二个为集合数据 3, 监听数据 bus ...
- java基础集合简介List/Vector(三)上
集合特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:集合是可变长度的. 集合和数组的区别: 1:数组是固定长度的:集合可变长度的. 2:数组可以存储基本数据类型,也可以存储引用数 ...