注意:
1、这两个方法都是字符流,所以在准备读取数组时,准备的是字符数组
2、读取结束后,返回值为 -1
FileReader in = null;
FileWriter out = null;
try {
//读
in = new FileReader("src/com/io/fileCopy/CopyTest1.java");
//读
//in = new FileReader("src/com/io/temp");
//写
out = new FileWriter("CopyTest1.java");
//准备一个字符数组或者一个字符串
char[] chars = new char[1024*512];//1M空间的数组
int readCount = 0;//读取到的字符数
while ((readCount= in.read(chars))!=-1){
out.write(chars,0,readCount);
}
//刷新,此步必须谨记,每个输出流必须在最后进行刷新操作
out.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}