


免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂 林 电 子 科 技 大 学Java应用开发 实 验 报 告指导教师意见:教 师签 名成绩实验名称 流与文件 计算机科学与工程学院计算机科学与技术专 业 班 第 实 验 小 组姓 名 学 号 实 验 日 期 2015 年 11 月 24 日实验七 流与文件一、 实验目的1、掌握java中流的概念和作用。 2、掌握文件读写所使用的相关流(类)。二、 实验内容1、编写一个Java程序,能将硬盘上某个文件夹下的一个纯文本文件(如txt文件)拷贝到另一个指定的文件夹中。 2、假设已经有一个文本文件中存放着职工的工资记录。每个职工的记录包含姓名、工资、津贴三项。每条记录可以存放于一行(三项之间的间隔符可以自己决定),也可以将每条记录的三项依次分别存放在文本文件中的每一行。请设计一个程序,可以让用户选择打开这个文件查看其内容,并可以让用户选择把每个职工的工资增加10%之后又存回原来的文件。分析与设计三、 分析与设计FileInputStream in = new FileInputStream(D:1java.txt);/被拷贝的文档FileOutputStream out = new FileOutputStream(D:22.txt);/拷贝文档out.write(buf, 0, b);out.flush();InputStream类 该类是所有字节输入流的根类。方法均throws IOException int read() throws IOException方法的用途是从输入流中读取下一个字节流数据,其返回值是0255之间的一个整数。若读到流结束,返回1,若流中暂时无数据可读,则阻塞。void close()函数可以关闭流并释放系统资源,通常系统对流对象进行垃圾收集时会自动调用此函数。long skip(long n)方法将输入流中当前读取的位置向后移动n字节,并返回实际跳过的字节数。void mark(int readlimit)方法是在输入流的当前读取位置作标记,从该位置开始读取readlimit所指的数据后,所做的标记失效。OutputStream类该类是所有字节输出流的根类。方法均throws IOException,其所具有的部分方法如下: void write(int b)方法为抽象方法,必须被子类实现。该方法用来将指定的字节b作为数据写入输出流。void write(byte b)将字节数组b中长度为b.length个字节的数据写入输出流。void write(byte b,int off,int len)是将字节数组b中从索引off开始的长度为len个字节的数据写入输出流。flush()是清空输出流,并强制输出流中剩余的字节。四、 测试数据及运行结果 被拷贝的文档拷贝文档后的结果未加10%工资前的文档加10%工资后的文档五、 问题与总结java并不在语言层面上对输入输出提供支持,而是将这个任务交由类库的类来完成。Java语言中,输入/输出由两个包组成:java.io包和java.nio包。“流”在java的I/O中起着重要的作用,它是一个逻辑概念,一个字节输入流是指一个字节序列。可从中依次读出字节,用户可以不必关心它的内部结构、来源。字节输出流类似。“流”模型带来的最大好处是:将文件读/写,网络读/写,内存读/写等操作全部统一起来,在“流”的层次上达到操作的一致性。Java.io包中约有60个类,主要分为:字节流的处理、字符流的处理、对象序列化和随机文件处理等。其中所有字节“输入”流类都是抽象类InputStream类的子类,所有字节“输出”流类都是抽象类OutputStream类的子类;所有字符“输入”流类都是抽象类Reader类的子类,所有字符“输出”流类都是抽象类Writer类的子类。六、 附录package sy7;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class s7_1 public static void main(String args) throws IOException FileInputStream in = new FileInputStream(D:1java.txt);FileOutputStream out = new FileOutputStream(D:22.txt);byte buf = new byte8 * 1024;int b;while (b = in.read(buf, 0, buf.length) != -1) / 写入文件out.write(buf, 0, b);out.flush();in.close();out.close();System.out.println(拷贝成功);package sy7;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Scanner;import java.util.StringTokenizer;public class s7_2 public static void main(String args) throws IOExceptionString str;int i = 0, j = 0, k = 0, h = 1;String per_string = new String100;String last_string;int salary = new int100;File fl = new File(D:/3.txt);FileReader fr = new FileReader(fl);BufferedReader br = new BufferedReader(fr);System.out.println(读取文件中.);/ 得到文件的内容while (str = br.readLine() != null)/ 显示信息System.out.println(str);/ 指定用空格符号分割StringTokenizer st = new StringTokenizer(str, );/ 将文件进行分割while (st.hasMoreTokens() / 将文件写入到数组中per_stringj = st.nextToken();j+;fr.close();System.out.print(是否将工资加上10%后保存,输入“Y”是,其他退出:);Scanner input = new Scanner(System.in);if (input.next().equals(Y) / 准备写入文件测试文本.txtFile f2 = new File(D:/测试文本.txt);FileWriter fw = new FileWriter(f2);BufferedWriter bw = new BufferedWriter(fw);/ 得到工资for (i = 0; i j; i+) / 第二列处是工资if (i != 1) if (h % 3 = 2)salaryk = Integer.parseInt(per_stringi);k+;h+;/ 将工资增加10%for (i = 0; i k; i+)salaryi = (int) (salaryi * 0.1 + salaryi);/ 重新赋值h = 1;k = 0;/ 将增加后的工资存入数组中for (i = 0; i j; i+)if (i != 1)if (h % 3 = 2) / 把第二列处的工资用增加后的工资代替per_stringi = Integer.toString(salaryk);k+;h+;/ 重新赋值h = 1;/ 写入文件中for (i = 0; i j; i+)last_string = per_stringi;bw.write(last_string, 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初识火电运行值班员工作职责与考试要点解析
- 阳光版小学一班级下册 跳跃类游戏
- 【教案版】小学一班级上册 跳绳
- 17水平二技巧《前滚翻1》教案
- 2025年农村水源保护及治理工作面试题集及答案解析
- 2025年软件测试工程师技能进阶教程及实战经验
- 2025年网络安全工程师专业模拟题与答案解析
- 电信运营行业知识培训课件
- 2025年炼钢原理及实践应用面试题解析
- 2025年高级营养师专业能力提升考试模拟题与答案解析
- DB61T1730-2023公路路面煤矸石基层施工技术规范
- 第四章 土地估价方法-成本法
- GB/T 43198-2023食品包装用聚乙烯吹塑容器
- 从力的做功到平面向量数量积说课稿省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件
- 骨科常见体位和摆放课件
- 中国传统文化概论绪论
- 这么写网约车事故索赔误工费的起诉状更容易胜诉
- 固体废物污染环境防治法课件
- 2022年高校教师资格证(高等教育学)考试题库评估300题有解析答案(四川省专用)
- 精装修安全文明施工方案
- 肺结核共45张课件
评论
0/150
提交评论