Java IO流
来源:互联网 发布:pla算法 编辑:程序博客网 时间:2024/06/05 20:47
一、字符流和字节流
Java中的IO流分为字节流和字符流,二者的区别是操纵对象的不同,字节流面向字节,每次操作一个字节,操作对象是字节或者字节数组,而Java用Unicode编码存储字符,一个字符=两个字节,用字节流操作效率不高,且容易出错。字符流就是用来处理字符对象(字符数组或者字符串),一次处理2个字节。字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。
使用情况:一般用字符流来处理文本数据,而用字节流来处理二进制数据(照片、图像等)。
二、IO的体系结构
三、利用IO读写文件
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class NormalRW {public static void main(String[] args) {BufferedWriter bw = null;BufferedReader br = null;BufferedInputStream bi = null;BufferedOutputStream bo = null;try {System.out.println("---------write begin ---------");bw = new BufferedWriter(new FileWriter(new File("e:\\t.txt")));bw.write("Hello World!!!\r\n");bw.write("你好,世界!!!");bw.flush();bw.close();System.out.println("--------- write end ---------");System.out.println("--------- read begin ---------");br = new BufferedReader(new FileReader("e:\\t.txt"));char[] buffer = new char[16];String str = "";int n;while((n=br.read(buffer)) != -1){str += new String(buffer, 0, n);}System.out.println(str);System.out.println("--------- read end ---------");System.out.println("--------- copy picture start ---------");bi = new BufferedInputStream(new FileInputStream("e:\\animal.jpg"));bo = new BufferedOutputStream(new FileOutputStream("e:\\temp.jpg"));byte[] buff = new byte[16];int i;while((i=bi.read(buff)) != -1){bo.write(buff, 0, i);}bo.flush();bo.close();System.out.println("--------- copy picture end ---------");} catch (IOException e) {e.printStackTrace();}}}
0 0
- JAVA【IO一】IO流
- Java-IO-java的IO流
- java IO 流
- JAVA之IO流
- java IO(字符流)
- java的io流
- JAVA之IO流(
- JAVA 基础IO流
- JAVA 中的IO流
- Java IO 流学习
- JAVA 中的IO流
- Java IO流操作方法。。
- java io流总结
- 转]JAVA IO流
- JAVA IO流
- Java中的IO流
- JAVA IO 流操作
- 详述JAVA IO流
- 解决ssh的"Write failed: Broken pipe"问题
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- ZeroMQ线程通讯
- 【Gateway安装】Windows 下 已存在DB10gR2 安装Gateway11gR2 for sybase
- qt中文乱码
- Java IO流
- andriod 实现新浪、QQ空间、微信朋友圈、微信好友分享功能
- 恢复Win7里管理员的权限到默认状态
- USB设备firmware
- 懂得生命
- Hrbust 1073
- CD Making
- 利用bind函数将创建好的套接字绑定到本地计算机的某一端口上
- c++11 : range-based for loop