package test;
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;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
import java.util.logging.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* @author LimingWang
* @date 2015年4月15日 下午4:55:06
* @version 1.0
*/
public class IOTest {
private Logger logger = Logger.getLogger("IOTest");
public String separator;
public String path;
public OutputStream fos;
public BufferedOutputStream bos;
public InputStream fis;
public BufferedInputStream bis;
public Writer fw;
public BufferedWriter bw;
public Reader fr;
public BufferedReader br;
/**
* 初始化公用内容
*
* @author LimingWang
* @since 2015年4月15日 下午4:56:38
*/
@Before
public void testBefore(){
separator = File.separator;
path = "C:" + separator + "Users" + separator
+ "limingwang" + separator + "Desktop" + separator
+ "test.txt";
}
/**
* 关闭流
*
* @author LimingWang
* @throws IOException
* @since 2015年4月15日 下午4:57:24
*/
@After
public void testAfter() throws IOException{
if (bos != null) {
bos.flush();
bos.close();
}
if (fos != null) {
fos.close();
}
if (bis != null) {
bis.close();
}
if (fis != null) {
fis.close();
}
if (bw != null) {
bw.flush();
bw.close();
}if (fw != null) {
fw.close();
}
if (br != null) {
br.close();
}
if (fr != null) {
fr.close();
}
}
/**
* 字节输出缓冲流
*
* @author LimingWang
* @throws Exception
* @since 2015年4月15日 下午4:58:24
*/
@Test
public void testByteOut() throws Exception {
fos = new FileOutputStream(path);
bos = new BufferedOutputStream(fos);
String data = "test";
bos.write(data.getBytes());
}
/**
* 字节输入缓冲流
*
* @author LimingWang
* @throws Exception
* @since 2015年4月15日 下午5:44:14
*/
@Test
public void testByteIn() throws Exception {
fis = new FileInputStream(path);
bis = new BufferedInputStream(fis);
StringBuffer sb = new StringBuffer();
byte[] bytes = new byte[1024];
int len = -1;
while((len = bis.read(bytes)) != -1){
sb.append(new String(bytes, 0, len));
}
logger.info(sb.toString());
}
/**
* 字符输出缓冲流
*
* @author LimingWang
* @throws Exception
* @since 2015年4月15日 下午5:44:54
*/
@Test
public void testCharOut() throws Exception {
fw = new FileWriter(path);
bw = new BufferedWriter(fw);
bw.write("test2");
}
/**
* 字符输入缓冲流
*
* @author LimingWang
* @throws Exception
* @since 2015年4月15日 下午5:45:50
*/
@Test
public void testCharIn() throws Exception {
Reader fr = new FileReader(path);
BufferedReader br = new BufferedReader(fr);
char[] ch = new char[1024];
int len = -1;
StringBuilder sb = new StringBuilder();
while((len = br.read(ch)) != -1){
sb.append(new String(ch, 0, len));
}
logger.info(sb.toString());
br.close();
fr.close();
}
}