实验内容
1.建立File对象
2.通过输入字节流读取文件
3.通过输出字节流写入文件
基本要求
1.学会编写Java应用程序打开本地文件
2.学会编写Java应用程序读取文件
3.学会编写Java应用程序向文件写入数据
实验步骤
- 打开NetBeans开发环境。
在前面的实验中,我们曾在"D:\"盘下建立了一个Java Application项目,项目名称是javanetwork,项目所在文件夹是d:\javanetwork。本实验需要在此项目下建立一个名为demo.filecopy的包,在此包下建立程序FileCopy.java。 - 在FileCopy.java中编辑并调试一个方法,其方法头是
static int copy(String source, String destination) throws IOException
source:源文件名
destination:目的文件名
返回:拷贝的总字节数
copy方法将文件source中的内容拷贝到文件destination。
可以用如下方式建立文件的输入流并读文件
BufferedInputStream bf = new BufferedInputStream(new FileInputStream(new File(<文件名>)));
byte[] buf = new byte[1024];
int n = bf.read(buf);
read方法的返回值是实际读入buf的字节数,如果已到达流的结尾(即没有数据了)则返回-1。
可以用如下方式建立文件的输出流,用于向文件写入数据
BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(new File(<文件名>)))😉
bo.write(buf,0,m);
其中,m是写入的字节总数。 - 编写代码调用copy方法,实现文件拷贝。
- 在Dos命令窗口执行程序FileCopy。
你的程序应能拷贝任意类型文件,总字节数不限。
下面是程序运行示例,你的程序运行结果应与下列结果类似但不完全相同。
在Dos命令提示窗口执行程序FileCopy,源文件是index.html,目的文件是back.html,拷贝结束后,显示拷贝的字节总数。
如果在Dos命令提示窗口输入的参数不是2个(即源文件和目的文件),则显示本程序的使用方法并退出程序。
如果源文件不存在,则显示源文件不存在的提示信息并退出程序。
如果目的文件已存在则显示目的文件已存在的提示信息,并提问是否覆盖已有文件,如果用户选择'Y',则继续拷贝,否则退出程序。