首页 > 技术文章 > IO文件读取

wangzxblog 2018-11-14 10:45 原文

/**
*按字节读取文件
*/
@Test
public void readerByte() {
File file = new File("D:\\BindCheckControllerTest.java");
File fileC = new File("D:\\CopyBindCheckControllerTest.java");

FileInputStream inputStream = null;
FileOutputStream outputStream = null;
try {
inputStream = new FileInputStream(file);
outputStream = new FileOutputStream(fileC);
byte[] bytes = new byte[1024];
int num = 0;
while ((num = inputStream.read(bytes)) != -1) {
outputStream.flush();
/**
* 必须这样写,如果超出的话,会从字符流读取多余的数据
* 不能使用outputStream.write(bytes) method
*/
outputStream.write(bytes, 0, num);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ei) {
ei.printStackTrace();
} finally {
try {
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

/**
* 按字符读取文件
*/
@Test
public void readerChar() {
File file = new File("D:\\BindCheckControllerTest.java");
File fileC = new File("D:\\CopyBindCheckControllerTest.java");

FileReader reader = null;
FileWriter writer = null;
try {
reader=new FileReader(file);
writer=new FileWriter(fileC);
char[] chars = new char[1024];
int num = 0;
while ((num = reader.read(chars)) != -1) {
writer.flush();
/**
* 必须这样写,如果超出的话,会从字符流读取多余的数据
*/
writer.write(chars,0,num);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ei) {
ei.printStackTrace();
} finally {
try {
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

  

推荐阅读