自学Java系列 笔记3 IO 1
来源:互联网 发布:odis工程师怎样刷数据 编辑:程序博客网 时间:2024/05/24 04:18
IO 概述
- 输入:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。
- 输出:将程序(内存)数据输出到磁盘、光盘等存储设备中
- Java 的 IO 流主要包括输入、输出两种 IO 流,每种输入、输出流又可分为字节流和字符流两大类:
§ 字节流以字节为单位来处理输入、输出操作
File 类
File 类代表与平台无关的文件和目录。
File 能新建、删除、重命名文件和目录,但 File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
IO 流的分类
按流向分:
– 输入流
– 输出流
• 按处理的单位:
– 字节流(8位的字节)
– 字符流(16位的字节)
• 按流的角色
– 节点流:可以从一个特定的 IO设备读/写数据的流
– 处理流:对一个已存在的流进行连接和封装,通过封装后的流来实现数据读/写操作
IO 流体系
问:什么时候用字节流,什么时候用字符流?
答:字节流什么时候都可以用,但是例如一个文件,一个音频文件,因为它里面的内容是以二进制的形式存放的,所以应该使用字节流,而不能使用字符流。而平时的文档类型的文件,通常用字符流比较方便。
利用字符输入输出流,完成 hello.txt文件的复制.
把该文件复制为 hello2.txt
public class IOTest {
/**
* 利用字符输入输出流, 完成 hello.txt 文件的复制.
* 把该文件复制为 hello2.txt
* @throws IOException
*/
/**
* 利用字节输入输出流, 完成 hello.txt 文件的复制.
* 把该文件复制为 hello2.txt
* @throws IOException
*/
@Test
publicvoid testCopyFile() throws IOException{
//1. 创建定位到 hello.txt的文件的输入流
InputStreamin = new FileInputStream("hello.txt");
//2. 创建定位到hello2.txt的文件输出流
OutputStreamout = new FileOutputStream("hello2.txt ");
//3. 创建一个 byte 数组,用于读写文件
byte[] buffer = new byte[1024 * 10];
//4. 读写文件:
int len= 0;
//in.read(buffer);out.write(buffer, 0, len);
while((len= in.read(buffer)) != -1){
//-1代表结尾
out.write(buffer);
}
//注意:使用写入的方法,write(char[] cbuf, int off,int len)
,而不能直接使用
write(char[] cbuf)
//5. 关闭流资源.
out.close();
in.close();
}
- 自学Java系列 笔记3 IO 1
- 自学Java系列 笔记3 IO 3
- 自学Java系列 笔记3 IO 2
- 自学Java系列 笔记3 IO 4
- 自学Java系列 笔记3 泛型1
- 自学Java系列 笔记1 java的基本语法3
- 自学Java系列 笔记3 枚举、注释
- 自学Java系列 笔记4 多线程 1
- java自学笔记之IO流
- 自学Java系列 笔记1 java的基本语法1
- 自学Java系列 笔记2 Java类设计3
- 自学Java系列 笔记2 Java集合3
- 自学Java系列 笔记1 java的基本语法2
- 自学Java系列 笔记2 Java类设计1
- 自学Java系列 笔记2 Java集合1
- 自学Java系列 笔记4 Java常用类 1
- 自学Java系列 笔记2 面向对象1
- 自学Java系列 笔记2 高级类特性1
- C++用冒号(:)和双冒号(::)用法
- ubuntu安装lnmp
- Python 包
- error C2440: “static_cast”: 无法从“void (__thiscall CChat
- web集群之一 linux下apache+tomcat负载均衡配置-笔记
- 自学Java系列 笔记3 IO 1
- Android键盘弹起情景应用
- 模态视图翻页效果实现特点
- DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)之一
- 自学Java系列 笔记3 IO 2
- iOS 在UILabel显示不同的字体和颜色
- 自学Java系列 笔记3 IO 3
- JavaWeb基础学习第六天
- json解析C++