欢迎来到天天文库
浏览记录
ID:62296234
大小:381.39 KB
页数:14页
时间:2021-04-25
《西农java实习五-文件操作.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息工程学院实验报告的内容与格式按任课教师的要求书写。《Java语言程序设计》实验报告学院:信息学院班级:*********姓名:pprp学号:**********成绩:一、实习目标(1)掌握输入输出流的用法:文件字节流、文件字符流、缓冲流、对象流;(2)掌握File对象的用法;(3)掌握Serializable接口的使用。二、实验过程实验题1设计一个类FileMerge,实现从一个目录(路径为“.filespoem”,该目录内有两个txt文件,见压缩包内文件)中依次读取每个文件的内容,并写入到同一个新文件中,存储该文件
2、为“.files李白诗集.txt”。[提示]使用File类的listFiles()方法可以得到目录下的文件对象数组。[要求]使用缓冲流读写截图:代码:说明:要求采用缓冲流写,而缓冲流是上层流,需要底层流的支持,所以采用的是FileWriter和FileReader;同时还用到了listFiles()函数,可以将该目录下所有文件都取出来。需要注意的一点,就是BufferedWriter不能写到for循环里边,这样就会打断流,导致第二次for循环的时候会将之前的内容冲掉。知识点:BufferedReader&Buffered
3、Writer的用法:通常Writer将其输出立即发送到底层字符或字节流。除非要求提示输出,否则建议用BufferedWriter包装所有其write()操作可能开销很高的Writer(如FileWriters和OutputStreamWriters)。通常,Reader所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用BufferedReader包装所有其read()操作可能开销很高的Reader1、BufferedWriter:方法摘要:Voidclose();Voidflush();Voidne
4、wLine();Voidwrite(char[]buff,intoff,intlen);Voidwrite(intc);Voidwrite(Strings,intoff,intlen);2、BufferedReader:方法摘要:Voidclose();Intread();//单个字符Intread(char[]buff,intoff,intlen);//将字符读入数组的某一部分StringreadLine();实验题2写一个程序,统计纯文本文件“.filesinput.txt”(见压缩包内文件)的大写字母、小写字母个数
5、,并将所有小写字母转换为大写字母,输出到“.filesoutput.txt”。[提示]使用Character类的相关方法判断大写、小写字母以及转换大小写。[要求]使用文件字节流截图:代码:说明:要求使用字节流文件,所以声明一个字节数组,用来读入存储,进行处理。在这个实验中,要注意关闭流的使用,如果过早关闭流就会导致之后的数据不能进行传输,另外在使用的时候不能对字节数组处理以后直接用write函数将整个字节数组传输到output文件中,否则会产生一些列的空字符。知识点:字节流的使用:FileInputStream从文件系统
6、中的某个文件中获得输入字节。哪些文件可用取决于主机环境。FileInputStream用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用FileReaderFileOutputStream用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用FileWriter1.FileInputStream:方法摘要:Intread();//一个字节Intread(byte[]b);//将b.length个字节读入Intread(byte[]b,intoff,intlen);//从off开始的len个字节Voidc
7、lose();2.FileOutputStream:方法摘要:Intwrite();//一个字节Intwrite(byte[]b);//将b.length个字节输出Intwrite(byte[]b,intoff,intlen);//从off开始的len个字节Voidclose();实验题3实现目录的复制完成实验题1&2之后,“.files”目录的内容:+files-input.txt-output.txt+poem-将进酒.txt-五古·咏苎萝山.txt-李白诗集.txt其中“+”表示目录,“-”表示文件。将“.file
8、s”整个目录拷贝一份,命名为“.filescopy”。使得两个目录的内容完全相同。[提示]设计一个递归形式的方法copy()进行拷贝。截图:代码:说明:这个递归函数的设计最初感到很迷茫,因为没有想到用带有两个参数的File构造函数,只用一个比较难处理。如果用两个的话就可以解决文件的命名问
此文档下载收益归作者所有