Java语言程序设计 上机实验7 深入理解文件和流的概念

Java语言程序设计 上机实验7

实验目的

深入理解文件和流的概念,理解流在文件操作中的作用,掌握Java的标准输入/输出方法,掌握Java提供的各种字节流类和字符流类的功能和使用方法。

实验内容:(*)为选做内容

  1. 使用文件字节输入/输出流,合并两个指定文件;当文件中的数据已排序时,合并后的数据也要求是已排序的。

提示:先在程序中初始化两个已排序的整型数组,分别写入到两个文件中,然后按照题目要求将两个文件合并。读取并显示合并前后的文件,以验证程序的正确性。

  1. Java的关键字保存在一个文本文件中,程序运行后,提示用户输入一个字符串,判断其是否为Java的关键字。
  2. (*) 编写一个简易的记事本程序,具有打开文本文件显示、修改文本文件后保存、退出系统等基本功能。

实验要求:

1. 在实验报告中给出程序运行结果截图。

2. 源程序代码附到实验报告的最后。

3. 认真填写实验报告并妥善存档,在上机实验课之前发送电子版实验报告至 wsycup@foxmail.com

注意邮件标题附件实验报告文件名均为:

Java1实验报告N_学号_姓名

其中N为阿拉伯数字,指第几次实验,例如

Java1实验报告3_ 2012010400_李雷

请严格按照规定的格式发送邮件(注意标题中Java”后的数字“1”)邮件标题不符合格式要求等同于未交作业,并在规定的时间发送实验报告邮件,过期无效。

4. 实验报告雷同者将不能得到相应的平时分。

附录:实验报告

实验题目__实验7______

学号_2014011329_    姓名__许恺_____     班级__计算机14-1_____     时间_2016.5.13_____

实验题目解答

一.

 

二.

 

:源程序

一.

package com.Test1;

import java.io.*;
import java.util.Arrays;
public class File {

    /**
     * @param args
     */
    public static void main(String[] args)throws IOException {
        // TODO Auto-generated method stub
        int[] a=new int[10];
        int[] b=new int[10];
        int[] c=new int[20];
        int j=0;
        int i;
        for(i=0;i<10;i++)
        {
            a[i]=j;
            b[i]=j+1;
            j+=2;
        }
        String filename1="a.txt";
        String filename2="b.txt";
        FileOutputStream fout=new FileOutputStream(filename1);
        FileOutputStream fout0=new FileOutputStream(filename2);
        for(i=0;i<10;i++)
        {
            fout.write(a[i]);
            fout.write(' ');
            fout0.write(b[i]);
            fout0.write(' ');
        }
        fout.close();
        fout0.close();
        FileInputStream fin=new FileInputStream(filename1);
        FileInputStream fin0=new FileInputStream(filename2);
        for(i=0;i<10;i++)
        {
            a[i]=fin.read();
            fin.read();
            b[i]=fin0.read();
            fin0.read();
        }
        fin.close();
        fin0.close();
        System.out.println("数组a:");
        for(i=0;i<10;i++)
        {
            c[i]=a[i];
            System.out.print(a[i]+" ");
        }
        System.out.println();
        System.out.println("数组b:");
        for(j=0;j<10;i++,j++)
        {
            c[i]=b[j];
            System.out.print(b[j]+" ");
        }
        System.out.println();
        System.out.println("合并后排序前:");
        for(i=0;i<20;i++)
        {
            System.out.print(c[i]+" ");
        }
        System.out.println();
        
        Arrays.sort(c);
        FileOutputStream fo=new FileOutputStream("c.txt");
        for(i=0;i<20;i++)
        {
            fo.write(c[i]);
            fo.write(' ');
        }
        fo.close();
        FileInputStream fi=new FileInputStream("c.txt");
        System.out.println("合并后排序后:");
        for(i=0;i<20;i++)
        {
            c[i]=fi.read();
            fi.read();
            System.out.print(c[i]+" ");
        }
        fi.close();
        System.out.println();
    }
}

二.
package com.Test2;

import java.io.*;
import java.util.*;
public class Keyword {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        String key1;
        boolean b=false;
        int i;
        System.out.println("请输入一个java关键字字符串:");
        Scanner in = new Scanner(System.in);
        String key = in.nextLine();
        FileReader a=new FileReader("Keyword.txt");
        BufferedReader bd=new BufferedReader(a);
        while((key1=bd.readLine())!=null)
        {
            for(i=0;i<key.length();i++)
            {
                if(key.charAt(i)!=key1.charAt(i))
                    break;
            }
            if(i==key.length())
            {
                System.out.println("此字符串是关键字");
                b=true;
                break;
            }
        }
        if(b==false)
        {
            System.out.println("此字符串不是关键字");
        }
    }

} 
原文地址:https://www.cnblogs.com/xukaiae86/p/6443143.html