最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

java实验七 输入输出流

来源:动视网 责编:小OO 时间:2025-09-23 19:13:09
文档

java实验七 输入输出流

实验七输入输出流一.实验目的和要求目的:1、掌握使用输入输出流进行文件的读写操作。要求:1、实验报告给出内容1,2的填充代码以及内容3的全部源代码。二.实验内容1、按程序模板要求,将注释处替换为Java程序代码。实现文件加密。2、按程序模板要求,将注释处替换为Java程序代码。给文件的内容添加行号.3、串行化对象Student到本地文件,并在下一次运行程序时用来初始化。(选做)三.实验环境硬件:(1)学生用微机(2)多媒体实验教室软件:(1)WindowsXP中文操作系统(2)JDK控制台四.
推荐度:
导读实验七输入输出流一.实验目的和要求目的:1、掌握使用输入输出流进行文件的读写操作。要求:1、实验报告给出内容1,2的填充代码以及内容3的全部源代码。二.实验内容1、按程序模板要求,将注释处替换为Java程序代码。实现文件加密。2、按程序模板要求,将注释处替换为Java程序代码。给文件的内容添加行号.3、串行化对象Student到本地文件,并在下一次运行程序时用来初始化。(选做)三.实验环境硬件:(1)学生用微机(2)多媒体实验教室软件:(1)WindowsXP中文操作系统(2)JDK控制台四.
 

实验七  输入输出流

一.实验目的和要求

目的:

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("hello.txt"),

         fileTwo=new File("hello.secret");

      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("c:/1000

      File tempFile=new File("temp.text");

      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+" "+s);

               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("e:/hello.txt"),

         fileTwo=new File("hello.secret");

      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                 {

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

                 }

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

            }  

           in.close();           // in关闭 

         }

      catch(IOException e)

         {

           System.out.println(e);

         }  

   }

}

3.程序二:// ReadExample.java

import java.io.*;

public class ReadExample

{  

   public static void main(String args[ ])

   { 

      File file=new File("e:

      File tempFile=new File("temp.text");

      try{

           FileReader  inOne=new FileReader(file);  // 创建指向文件file的输入流

           BufferedReader inTwo=new BufferedReader(inOne);//创建指向inOne file的输入流

           FileWriter  tofile=new FileWriter(tempFile);//创建指向文件tempFile的输出流

           BufferedWriter out=new BufferedWriter(tofile);// 创建指向tofile的输出流

           String s=null;

           int i=0;

           s=inTwo.readLine();                        // inTwo读取一行

           while(s!=null)

           {

               i++;

               out.write(i+" "+s);

               out.newLine();

               s=inTwo.readLine();                   // inTwo读取一行

           }

           inOne.close();

           inTwo.close();

           out.flush();

           out.close();

           tofile.close();

           inOne=new FileReader(tempFile);    // 创建指向文件tempFile的输入流

           inTwo=new BufferedReader(inOne);     // 创建指向inOne file的输入流

           tofile=new FileWriter(file);       // 创建指向文件file的输出流

           out=new BufferedWriter(tofile);          // 创建指向tofile的输出流

           while((s=inTwo.readLine())!=null)   // inTwo读取一行

           {

              out.write(s);

              out.newLine();

           } 

           inOne.close();

           inTwo.close();

           out.flush();

           out.close();

           tofile.close();

           inOne=new FileReader(file);     // 创建指向文件file的输入流

           inTwo=new BufferedReader(inOne);    // 创建指向inOne file的输入流

            while((s=inTwo.readLine())!=null) // inTwo读取一行

           {

             System.out.println(s);

           } 

           inOne.close();

           inTwo.close(); 

           tempFile.delete(); 

      }

      catch(IOException e)

      {

           System.out.println(e);

      }  

   }

}

文档

java实验七 输入输出流

实验七输入输出流一.实验目的和要求目的:1、掌握使用输入输出流进行文件的读写操作。要求:1、实验报告给出内容1,2的填充代码以及内容3的全部源代码。二.实验内容1、按程序模板要求,将注释处替换为Java程序代码。实现文件加密。2、按程序模板要求,将注释处替换为Java程序代码。给文件的内容添加行号.3、串行化对象Student到本地文件,并在下一次运行程序时用来初始化。(选做)三.实验环境硬件:(1)学生用微机(2)多媒体实验教室软件:(1)WindowsXP中文操作系统(2)JDK控制台四.
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top