IO字节流与字符流的操作
字节流:
FileInputStream读取,FileOutputStream输出
字节流使用数组缓冲区复制文件,最后得出所使用的时间
public class work2 {
public static void main(String[] args) {
FileOutputStream out=null;
FileInputStream in=null;
Date a=new Date();
try {
out=new FileOutputStream("D:\\test\\d\\eclipse.zip");
in=new FileInputStream("D:\\test\\eclipse.zip");
byte[] b=new byte[1024*1024];
int len=0; while((len=in.read(b))!=-1)
{
out.write(b,0,len);
}
} catch (IOException e) { e.printStackTrace();
}finally{
try {
out.close();
} catch (IOException e) { e.printStackTrace();
}
try {
in.close();
} catch (IOException e) { e.printStackTrace();
}
}
Date b=new Date();
System.out.println(b.getTime()-a.getTime());
}
}
字符流:
FileReader 字节流读取 FileWriter 字节流输出
字节流使用数组缓冲区复制文件
public class copy {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("D:\\test\\a.txt");
FileWriter fw=new FileWriter("D:\\test\\d\\a.txt");
char[] ch=new char[2];
int len=0; while((len=fr.read(ch))!=-1)
{
fw.write(ch,0,len);
System.out.println((char)len);
fw.flush();
}
fw.close();
fr.close();
}
}
转换流:
借助字节流写入方法,将字节流转换成字符流并且规定编码格式,例如编码格式为utf-8
FileOutputStream fo=new FileOutputStream("D:\\test\\d\\utf.txt");
OutputStreamWriter osw=new OutputStreamWriter(fo, "utf-8");
FileInputStream fi=new FileInputStream("D:\\test\\utf.txt");
InputStreamReader isr=new InputStreamReader(fi,"utf-8");
缓冲区:
//字符流缓冲区
FileReader fr=new FileReader("D:\\test\\aaa.txt");
BufferedReader br=new BufferedReader(fr);
//明确目的地
FileWriter fw=new FileWriter("D:\\test\\d\\aaa.txt");
BufferedWriter bw=new BufferedWriter(fw);
//字节流缓冲区
FileInputStream fi=new FileInputStream("D:\\codetool\\eclipse.zip");
BufferedInputStream bi=new BufferedInputStream(fi);
FileOutputStream fo=new FileOutputStream("D:\\test\\eclipse.zip");
BufferedOutputStream bo=new BufferedOutputStream(fo);
跨平台换行:.newLine();
读取一整行:readline();
Properties类
用于操作配置文件,后缀名只能是properties的文件
方法:
load(input字符流或字节流对象);
store(output字符流或字节流对象,描述信息);
写入:
创建对象:Properties prop = new Properties();
写入prop集合:prop.setProperty("周迅", "张学友");
创建字符流文件写入:FileWriter out = new FileWriter("prop.properties");
写入:prop.store(out,"描述");
取出:
创建集合:Properties prop = new Properties();
创建流对象:
FileInputStream in = new FileInputStream("prop.properties");
//FileReader in = new FileReader("prop.properties");
把流所对应文件中的数据 读取到集合中:
prop.load(in);
4,关闭流:
in.close();
5,显示集合中的数据:
System.out.println(prop);
IO字节流与字符流的操作的更多相关文章
- IO流回顾与总结第一篇之字节流与字符流的操作。。。。。
一.引言 趁着年后的这点时间,抓紧点时间回顾下javase中的IO流,以往都是用到那些常用的IO类,这次来个全点的,有不对的地方还请大神指正一下,做到坚持写博的习惯来...... 回归正题,IO流顾名 ...
- JAVA IO 字节流与字符流
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节. ...
- 14、IO (字节流、字符流)
输入和输出 * A:输入和输出 * a: 参照物 * 到底是输入还是输出,都是以Java程序为参照 * b: Output * 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 ...
- 字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)
操作流程 使用File类打开一个文件 通过字节流或者字符流的子类.指定输出的位置. 进行读/写操作 关闭输入/出 字节流与字符流 在java.io包中操作文件内容主要有两大类:字节流字符流.两大类分为 ...
- Java IO 字节流与字符流 (三)
概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...
- Java IO 字节流与字符流 (二)
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...
- Java提高篇(二):IO字节流、字符流和处理流
在我们的Java语言当中,通常会有对文件进行读写,因此我们引入java的IO类来进行文件的读写. 一.字节流 下面是一个字节流的实例: import java.io.*; public class I ...
- Java IO 字节流与字符流 (五)
Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字 ...
- java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...
随机推荐
- 有关for循环的一些东西
有的时候,不知道是因为学的有点浅显,还是脑袋有点懵,简单的循环语句都有点被绕糊涂了. 这种内外循环的,先是外循环一次,内循环全部,接着再外循环第二次,内循环全部,,,,,,,. 所以先是显示 0 4 ...
- Image Filter and Recover
这是CS50的第四次大作业,顺便学习了图像的入门知识. 基础 黑白图(bitmap)的每个像素点只能取值0/1,1代表白色,0代表黑色. 常见的图片格式有JPEG/PNG/BMP,这些格式都支持RGB ...
- MySQL——视图/触发器/事务/存储过程/函数/流程控制
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- Redux在项目中的文件结构
React + Redux 今天我们来唠唠在React一般项目中,使用Redux进行状态管理的时候,相对的如何存放reducer.action.api之类文件的结构与使用时机吧.本章默认看官们已经 ...
- Mysql数据库分页查询
为什么使用分页查询: 数据量比较大时,如果全部查询,展示刚给用户,数据量太大,用户难以接受.并且数据量大,查询慢.如果此时将大量的数据读取到java内存中,可能会存储崩溃. 分页查询的方式: 1.全部 ...
- Spring Cloud学习 之 Spring Cloud Hystrix(断路器原理)
断路器定义: public interface HystrixCircuitBreaker { // 每个Hystrix都通过它判断是否被执行 public boolean allowRequest( ...
- 错误:Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.
Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The ...
- 201771010113 李婷华 《面向java对象程序设计(Java)》第四章学习总结
一. 理论知识部分 第四章 对象与类 本章主要讲述面向对象程序设计.如何创建标准Java类库中的类对象.如何编写自己的类. 1.面向对象程序设计的几个主要概念: 抽象数据类型.类和对象.封装.类层次( ...
- Java抽象类的学习体会与注意事项
一.定义 抽象类:用abstract声明的class为抽象类. 抽象方法:用abstract声明的方法为抽象方法. 抽象方法特点:只有方法定义,没有方法的实现(函数体) 抽象类的子类都必须实现它的方法 ...
- Ubuntu 1804 安装xmind8详细过程
安装比较简单, 折腾了很久,一启动就报错,切换了JDK版本就能用了: 安装 登陆官网,下载xmind8: 下载得到文件xmind-8-update9-linux.zip: 将文件解压至路径xmind下 ...