Java实验7

本文介绍了Java中流与文件的基础操作,包括标准数据流、文件输入输出流、转换流及数据输入输出流的应用实例。通过具体代码演示了如何实现键盘输入显示、文件内容读写及转换等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验名称                 实验七 流与文件                    

一、实验目的:

1. 理解数据流的概念

2. 理解Java流的层次结构

3. 理解文件的概念

二、实验环境:

1.   掌握字节流的基本使用方法

2.   掌握字符流的基本使用方法

3.   能够创建、读写、更新文件  

三、实验内容:

   (一)使用标准数据流的应用程序 

标准数据流指在字符方式下(如DOS 提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。

1. 程序功能:将键盘上输入的字符在屏幕上显示出来

2. 编写KY10_1.java 程序文件,源代码如下。

class KY10_1{

public static void main(String[] args) throws java.io.IOException {

byte buffer[]=new byte[10];

System.out.println("从键盘输入不超过10 个字符,按回车键结束输入:");

int count =System.in.read(buffer);//读取输入的字符并存放在缓冲区buffer 中

System.out.println("保存在缓冲区buffer 中元素的个数为:"+count);

System.out.println("buffer 中各元素的值为:");

for (int i=0;i<count;i++){

System.out.print(" "+ buffer[i]);//在屏幕上显示buffer 元素的值

}

System.out.println();

System.out.println("输出buffer 字符元素:");

System.out.write(buffer, 0, buffer.length);

}

}

3. 编译、运行KY10_1.java 文件。

 

(二)使用文件输入输出流的应用程序

1. 程序功能:将保存在本地机当前文件夹中的KY10_2.HTML 文本文件的内容在屏幕上显示出来,然后将其另存为KY10_2.txt 文件。

2. 编写KY10_2.java 程序文件,源代码如下

import java.io.*;

public class KY5_4 {

public static void main(String[] args) throws IOException {

FileReader in=new FileReader("KY5_1.HTML");//建立文件输入流

BufferedReader bin=new BufferedReader(in);//建立缓冲输入流

FileWriter out=new FileWriter(" KY5_1.txt",true);//建立文件输出流

String str;

while ((str=bin.readLine())!=null) {

//将缓冲区内容通过循环方式逐行赋值给字符串str

System.out.println(str);//在屏幕上显示字符串str

out.write(str+"\n");//将字符串str 通过输出流写入KY5_1.txt 中

}

in.close();

out.close();

}

}

3. 编译、运行程序

 

(三)转换流

1.程序功能:从键盘读入一行字符,并将其转换成大写打印在屏幕,当输入exit字符串时退出。

2. 编写KY10_3.java 程序文件,源代码如下

import java.io.*;

public class KY10_3 {

  public static void main(String args[]) {

    InputStreamReader isr =

            new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(isr);

    String s = null;

    try {

      s = br.readLine();

      while(s!=null){

        if(s.equalsIgnoreCase("exit")) break;

        System.out.println(s.toUpperCase());

        s = br.readLine();

      }

      br.close();

    } catch (IOException e) {

      e.printStackTrace();

    }

  }

}

3. 编译、运行程序

    

(四)使用数据输入输出流与文件输入输出流类的应用程序

使用数据输入流DataOutputStream 和数据输出流DataInputStream 可以读取或写入任何Java 类型的数据,不用关心它们的实际长度是多少字节。一般与文件输入流FileInputStream 和输出流类

FileOutputStream 一起使用。

1. 程序功能:将整型数据和字符串对象通过数据输出流写到文件中。将文件中的整型数据和字符串对象通过数据输出流读出,并在屏幕上显示文件中的内容。

2. 编写KY10_4.java 程序文件,源代码如下。

import java.io.*;

public class KY10_4

{

public static void main(String arg[])

{

try

{ //添加方式创建文件输出流

FileOutputStream fout = new FileOutputStream("KY5_6.txt",true);

DataOutputStream dout = new DataOutputStream(fout);

dout.writeInt(1);

dout.writeChars("罗马"+"\n");

dout.writeInt(2);

dout.writeChars("北京"+"\n");

dout.close();

}

catch (IOException ioe){}

try

{

FileInputStream fin = new FileInputStream("KY5_6.txt");

DataInputStream din = new DataInputStream(fin);

int i = din.readInt();

while (i!=-1) //输入流未结束时,输入流结束时i 为-1

{

System.out.print(i+" ");

char ch ;

while ((ch=din.readChar())!='\n') //字符串未结束时

System.out.print(ch);

System.out.println();

i = din.readInt();

}

din.close();

}

catch (IOException ioe){}

}

}

3. 编译并运行程序

     

 四、心得体会:

   学会使用创造标准数据流的应用程序,通过学会使用转换流,更加明白了流与文件的功能.

 

实验 Java多线程 一、实验目的: 熟悉利用Thread类建立多线程方法。 熟悉利用Thread接口建立多线程方法。 二、实验内容: 1. 阅读下列程序,分析并上机检验其功能。 class DelayThread exends Thread{ private static int count=0; private int no; private int delay; public DelayThread(){ count++; no=count; } public void run(){ try{ for (int i=0;i<10;i++){ delay=(int)(Math.random()*5000); sleep(delay); System.out.println(“Thread ”+no+” with a delay ”+delay); } }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start(); try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。 3.利用多线程编写一个模拟时钟(AWT程序、Runnable接口),有时/分/秒针 编写一个应用程序,创建三个线程分别显示各自的时间。 三、实验要求: 1. 通过实验掌握Thread 、Runnable使用方法; 2. 程序必须能够实现多线程; 3. 程序必须能够完成题目要求; 4. 写出实验报告。 四、实验步骤: 首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。 通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ifHappyEveryDay@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值