您的位置:首页 > 编程语言 > Java开发

java_IO流_学习总结

2013-07-21 21:01 351 查看
常用IO流类别

|─字符流

| |─Writer 写入流

| | |─BufferedWriter 字符写入流缓冲区

| | └─OutputStreamWriter 字符转换字节流

| | └-FileWriter 字符文件写入流

| |

| └─Reader 读取流

| |-BufferedReader 字符读取流缓冲区

| └─InputStreamReader 字节转换字符流

| └─FileReader 字符文件读取流

|

|─字节流

| |─InputStream 输入流

| | |─ FileInputStream 文件输入流

| | └─ FilterInputStream

| | |─ DataInputStream 数据输入流

| | └─ BufferedInputStream 字节输入流缓冲区

| |

| └─OutputStream 输出流

| └─FilterOutputStream

| |─DataOutputStream 数据字节输出流

| └─BufferedOutputStream 字节输出流缓冲区

└─File 类

区别:字符流和字节流

读写单位不同:

字节流:字节(8bit)

字符流:字符(根据码表映射字符,一次可能读多个字节)

处理对象不同:

字节流:能处理所有类型的数据(如图片、视频、音频等)

字符流:只能处理字符类型的数据

结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

一、文件字节流

FileInputStream 文件字节输入流

FileOutputStream 文件字节输出流

输入流实例:

package fileStreamControl;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
//字节输入流
public class fileInput {
public static void main(String[] args) throws IOException{

InputStream ins = new FileInputStream("D:/hello/hello.txt");

int i;
while((i=ins.read())!=-1){
System.out.print((char)i);
}
ins.close();
}
}


输出流实例:

package fileStreamControl;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
//字节输出流
public class fileOutput {
public static void main(String[] args) throws IOException{

InputStream ins = new FileInputStream("D:/hello/hello.txt");
OutputStream out = new FileOutputStream("D:/hello/out.txt");

int i;
String  str = "写出hello.txt中的字节: ";
out.write(str.getBytes());
while((i=ins.read())!=-1){
System.out.print((char)i);
out.write(i);
}

out.close();
ins.close();

anotherOut();
}

//另外一种输出流方式
public static void anotherOut() throws IOException{
File f = new File("D:/hello/out.txt");
Writer out = null;
//利用 OutputStreamWriter写入文件
out = new OutputStreamWriter(new FileOutputStream(f,true)); // true 表示可在文件末尾写,即不会重新写入
out.write("另外一种输出方式 : another outputStreamWriter~~~~");
out.close();

}
}


暂时写到这...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: