java 缓冲流和转换流
2012-12-19 11:24
281 查看
1. 缓冲流
java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。经常使用的是readLine()方法,表示一次读取一行数据。
Java代码
package com.io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class TestBufferedString {
public static
void main(String[] args) throws Exception {
// 指定要读取文件的缓冲输入字节流
BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\photo\\IMG0460A.jpg"));
File file = new File("F:\\IMG0460A.jpg");
if (file != null) {
file.createNewFile();
}
// 指定要写入文件的缓冲输出字节流
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
byte[] bb = new
byte[1024];// 用来存储每次读取到的字节数组
int n;// 每次读取到的字节数组的长度
while ((n = in.read(bb)) != -1) {
out.write(bb, 0, n);// 写入到输出流
}
out.close();// 关闭流
in.close();
}
}
2. 转换流
java提供将字节流转化为字符流读写方式的OutputStreamWriter和InputStreamReader
Java代码
package com.io;
import java.io.*;
public class OutputStreamWriterDemo01
{
public static
void main(String args[]) throws Exception{
//所有异常抛出
//写入数据
File file=new File("d:"+File.separator+"test.txt");
Writer writer=null;
//字符输出流
writer=new OutputStreamWriter(new FileOutputStream(file));
//字节流变为字符流
String str="hello world!!!!";
writer.write(str); //使用字符流输出
writer.close();
//读取文件
File f = new File("d:" + File.separator +
"test.txt") ;
Reader reader = null ;
reader = new InputStreamReader(new FileInputStream(f)) ;
// 将字节流变为字符流
char c[] = new
char[1024] ;
int len = reader.read(c) ;
// 读取
reader.close() ; // 关闭
System.out.println(new String(c,0,len)) ;
}
}
java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。经常使用的是readLine()方法,表示一次读取一行数据。
Java代码
package com.io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class TestBufferedString {
public static
void main(String[] args) throws Exception {
// 指定要读取文件的缓冲输入字节流
BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\photo\\IMG0460A.jpg"));
File file = new File("F:\\IMG0460A.jpg");
if (file != null) {
file.createNewFile();
}
// 指定要写入文件的缓冲输出字节流
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
byte[] bb = new
byte[1024];// 用来存储每次读取到的字节数组
int n;// 每次读取到的字节数组的长度
while ((n = in.read(bb)) != -1) {
out.write(bb, 0, n);// 写入到输出流
}
out.close();// 关闭流
in.close();
}
}
package com.io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class TestBufferedString { public static void main(String[] args) throws Exception { // 指定要读取文件的缓冲输入字节流 BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\photo\\IMG0460A.jpg")); File file = new File("F:\\IMG0460A.jpg"); if (file != null) { file.createNewFile(); } // 指定要写入文件的缓冲输出字节流 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file)); byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组 int n;// 每次读取到的字节数组的长度 while ((n = in.read(bb)) != -1) { out.write(bb, 0, n);// 写入到输出流 } out.close();// 关闭流 in.close(); } }
2. 转换流
java提供将字节流转化为字符流读写方式的OutputStreamWriter和InputStreamReader
Java代码
package com.io;
import java.io.*;
public class OutputStreamWriterDemo01
{
public static
void main(String args[]) throws Exception{
//所有异常抛出
//写入数据
File file=new File("d:"+File.separator+"test.txt");
Writer writer=null;
//字符输出流
writer=new OutputStreamWriter(new FileOutputStream(file));
//字节流变为字符流
String str="hello world!!!!";
writer.write(str); //使用字符流输出
writer.close();
//读取文件
File f = new File("d:" + File.separator +
"test.txt") ;
Reader reader = null ;
reader = new InputStreamReader(new FileInputStream(f)) ;
// 将字节流变为字符流
char c[] = new
char[1024] ;
int len = reader.read(c) ;
// 读取
reader.close() ; // 关闭
System.out.println(new String(c,0,len)) ;
}
}
相关文章推荐
- Java学习总结(7)——(File类,IO流,(缓冲流,转换流等),Properties类)
- IO_缓冲流_转换流_字节转为字符_乱码分析_编码与解码JAVA152-154
- JAVA基础再回首(二十二)——转换流概述及用法、简化写法FileWriter和 FileReader、字符缓冲流及特殊用法、字节流字符流复制文件方法总结
- IO_缓冲流_转换流_字节转为字符_乱码分析_编码与解码JAVA152-154
- JAVA基础学习day20--IO流二-缓冲流、字节流
- java基础53 IO流技术(转换流)
- 【java的 IO流之缓冲流】
- Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
- Java--缓冲流
- Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
- JAVA提高篇(10)-缓冲流-BufferedInputStream、BufferedOutputStream
- Java复习之IO缓冲流
- 黑马程序员 io流中的字节流、字节缓冲流、转换流(重要)(毕向东)
- 初学Java,IO之使用转换流,读取键盘输入(四十三)
- 【java的 IO流之缓冲流】
- java基础学习IO流之缓冲流 十一 -5
- 黑马程序员——JAVA基础------IO流(四)----字节字符转换流和缓冲流
- java缓冲流,BufferedReader,BufferedWriter 详解
- Java I/O流操作(二)---缓冲流
- java缓冲流,数据流和对象流