java实验七 输入输出流

来源:网络收集 时间:2025-06-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验七 输入输出流

一.实验目的和要求

目的:

1、掌握使用输入输出流进行文件的读写操作。 要求:

1、实验报告给出内容1,2的填充代码以及内容3的全部源代码。

二.实验内容

1、按程序模板要求,将注释处替换为Java程序代码。实现文件加密。

2、按程序模板要求,将注释处替换为Java程序代码。给文件的内容添加行号. 3、串行化对象Student到本地文件,并在下一次运行程序时用来初始化。(选做)

三.实验环境

硬件:

(1)学生用微机 (2)多媒体实验教室 软件:

(1)Windows XP中文操作系统 (2)JDK控制台

四.算法描述及实验步骤

实验步骤:

1、按程序模板要求,将注释处替换为Java程序代码

该程序将已存在的文本文件加密后存入另一个文本文件中。请按模板要求,将【代码1】~【代码6】替换为Java程序代码

SecretExample.java import java.io.*;

public class SecretExample {

public static void main(String args[ ]) {

File fileOne=new File(\ fileTwo=new File(\ char b[]=new char[100]; try{

FileReader in=【代码1】 // 创建指向fileOne的字符输入流 FileWriter out=【代码2】 // 创建指向fileTwo字符输出流 int n=-1;

while((n=in.read(b))!=-1) {

for(int i=0;i

b[i]=(char)(b[i]^'a'); }

【代码3】 // out将数组b的前n单元写到文件 }

【代码3】 // out关闭

in=【代码4】 // 创建指向fileTwo的字符输入流 System.out.println(\加密后的文件内容:\ while((n=in.read(b))!=-1) {

String str=new String(b,0,n); System.out.println(str); }

in=【代码5】 // 创建指向fileTwo的字符输入流 System.out.println(\解密后的文件内容:\ while((n=in.read(b))!=-1) {

for(int i=0;i

b[i]=(char)(b[i]^'a'); }

System.out.printf(new String(b,0,n)); }

【代码6】 // in关闭 }

catch(IOException e) {

System.out.println(e); } } }

2、 按模板要求,将【代码1】~【代码14】替换为Java程序代码。 该给文件的内容添加行号。

ReadExample.java import java.io.*;

public class ReadExample {

public static void main(String args[ ]) {

File file=new File(\ File tempFile=new File(\ try{

FileReader inOne=【代码1】 // 创建指向文件file的输入流

BufferedReader inTwo=【代码2】//创建指向inOne file的输入流 FileWriter tofile=【代码3】//创建指向文件tempFile的输出流 BufferedWriter out=【代码4】// 创建指向tofile的输出流 String s=null; int i=0;

s=【代码5】 // inTwo读取一行 while(s!=null) {

i++;

out.write(i+\ out.newLine();

s=【代码6】 // inTwo读取一行 }

inOne.close(); inTwo.close(); out.flush(); out.close(); tofile.close();

inOne=【代码7】 // 创建指向文件tempFile的输入流 inTwo= 【代码8】 // 创建指向inOne file的输入流 tofile=【代码9】 // 创建指向文件file的输出流 out=【代码10】 // 创建指向tofile的输出流 while((s=【代码11】)!=null) // inTwo读取一行 {

out.write(s); out.newLine(); }

inOne.close(); inTwo.close(); out.flush(); out.close(); tofile.close();

inOne=【代码12】 // 创建指向文件file的输入流 inTwo=【代码13】 // 创建指向inOne file的输入流 while((s=【代码14】)!=null) // inTwo读取一行 {

System.out.println(s); }

inOne.close(); inTwo.close(); tempFile.delete(); }

catch(IOException e) {

System.out.println(e); } } }

五.调试过程

1.按要求填写程序(程序一)并调试运行:

于是新建一文件:e:\\hello.txt(内容见附录1),并改动文件位置,运行所得程序(附录2)得实验结果(见实验结果1)。

2. 按要求填写程序(程序二)并调试运行:

错误与程序一相同,修改程序(附录3)调试运行得实验结果(见实验结果2)。

六.实验结果

1.运行程序一得:

2.运行程序二得:

七.总结

像这种填空题,答案又几乎都一样的,我写的这么简单,不知道老师会不会怀疑我哦。嘿嘿,不想废话,回故下这个实验又有什么收获吧(填了那么多空,实际上就只用了4个知识点):

1.在Java语言里用new关键字来生成对象,通常的格式为:

类名 对象名=new 类名([参数]);

所以要生成对象,知道了它的所属类就再简单不过了。

2.在java.io.Reader与java.io.Writer类里均有关闭流函数,函数头均为:

Public abstract void close() throws IOException

3.在java.io.Writer类里提供了一个函数以实现将字符数组cbuf中的第off到第len元素

写入到输出流中:

public void write(char[] cbuf,int off,int len) throws IOException

4.BufferedReader是缓冲读取文件字符流,它除了有父类Reader提供的基本读取方法外,还增加了对整行字符进行读取的方法:readLine().

附录:

1.e:\\hello.txt中的内容: 我爱你啊 真的 哈哈?? !!

2.程序一:// SecretExample.java import java.io.*;

public class SecretExample {

public static void main(String args[ ]) {

File fileOne=new File(\ fileTwo=new File(\ char b[]=new char[100]; try{

FileReader in=new FileReader(fileOne); // 创建指向fileOne的字符输入流

FileWriter out=new FileWriter(fileTwo); // 创建指向fileTwo字符输出流

int n=-1;

while((n=in.read(b))!=-1) {

for(int i=0;i

b[i]=(char)(b[i]^'a'); }

out.write(b,0,n-1); // out将数组b的前n单元写到文件 }

out.close(); // out关闭 in=new FileReader(fileTwo); // 创建指向fileTwo的字符输入流 System.out.println(\加密后的文件内容:\ while((n=in.read(b))!=-1) {

String str=new String(b,0,n); System.out.println(str); }

in=new FileReader(fileTwo); // 创建指向fileTwo的字符输入流 System.out.println(\解密后的文件内容:\ while((n=in.read(b))!=-1) {

for(int i=0;i

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库java实验七 输入输出流在线全文阅读。

java实验七 输入输出流.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/405215.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219