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

JAVA IO流各种不一样的测试

2014-09-10 00:49 155 查看
package com.aniulee.io;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;

import org.junit.Test;

/**
* 【IO流测试】
* 把data.txt里面的内容读取出来,并写入note.txt文件里面
* @author aniulee
*/
public class IOTest {

//①种方法字符流
@Test
public void test1(){
FileReader fileReader=null;
FileWriter fileWriter=null;
try {
fileReader = new FileReader(new File("src/data.txt"));
int i;
File f = new File("src/note.txt");
fileWriter = new FileWriter(f);
while ((i = fileReader.read()) != -1) {
System.out.print((char) i);
fileWriter.write((char) i);
}
fileReader.close();
fileWriter.close();
} catch (Exception e) {
System.out.println("异常");
}
}

//②Buffered 结合字符流 速度更快
@Test
public void test2(){
BufferedReader bReader=null;
BufferedWriter bWriter=null;
try {
bReader = new BufferedReader(new FileReader(
new File("src/data.txt")));
bWriter = new BufferedWriter(new FileWriter(
new File("src/note1.txt")));
String str;
while ((str = bReader.readLine()) != null) {
System.out.println(str);
bWriter.write(str);
bWriter.newLine();
}
bReader.close();
bWriter.flush();
bWriter.close();
} catch (Exception e) {
System.out.println("异常");
}
}

//③Buffered 结合文件流 速度更快
@Test
public void test3(){
BufferedInputStream inputStream=null;
BufferedOutputStream bOutputStream=null;
try {
inputStream = new BufferedInputStream(new FileInputStream(new File("src/data.txt")));
bOutputStream = new BufferedOutputStream(
new FileOutputStream(new File("src/note2.txt")));
int i;
byte[] buffer = new byte[1024];
while ((i = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, i));
bOutputStream.write(buffer);
}
bOutputStream.flush();
inputStream.close();
bOutputStream.close();
} catch (Exception e) {
System.out.println("异常");
}
}

//④数据流
@Test
public void test4(){
DataInputStream dataInputStream=null;
try {
dataInputStream = new DataInputStream(
new FileInputStream(new File("src/data.txt")));
System.out.println(dataInputStream.available());
byte[] b = new byte[1024];
int i;
while ((i = dataInputStream.read(b)) != -1) {
System.out.println(new String(b,0,i));
}
} catch (Exception e) {
System.out.println("异常");
}
}

//available() 文件字节数 测试
@Test
public void test5(){
FileInputStream fStream=null;
try {
fStream = new FileInputStream("src/data.txt");
System.out.println(fStream.available());
//获取字符
if (fStream.available() > 0) {
byte[] b = new byte[fStream.available()];
int i =fStream.read(b);
System.out.println(new String(b,0,i));
}
} catch (Exception e) {
System.out.println("异常");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 字符流 buffer io流