输入过程
1 创建File类的对象,指明读取的数据的来源(要求此文件一定要存在)
2 创建相应的输入流,将File类的对象作为参数,传入流的构造器中
3 具体读入过程:创建相应的byte[] 或char[]
4 关闭流资源
说明:程序中的异常需要使用try-catch-finally来处理
输出过程
1 创建File类的对象,指明写出的数据的位置(不要求此文件一定要存在)
2 创建相应的输出流,将File类的对象作为参数,传入流的构造器中
如果构造器使用的FileWriter(file,false)/FileWriter(file):对原文件直接进行覆盖操作
如果构造器使用的FileWriter(file,true):会对原文件进行追加的写入操作
3 具体写出过程:write(char[]/byte[],0,len)
4 关闭流资源
说明:程序中的异常需要使用try-catch-finally来处理
复制图片为例
public void FileTest2(){
FileInputStream fis = null;
FileOutputStream fos = null;
try {
File fi = new File("xjy.png");
File fo = new File("xjyCopy.png");
fis = new FileInputStream(fi);
fos = new FileOutputStream(fo);
byte[] b = new byte[5];
int len;
while((len = fis.read(b)) != -1){
fos.write(b,0,len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fis != null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos != null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}