I/O Stream设计实验

实验要求和目的

深入理解java输入输出流相关类的基本用法,并且可以掌握Java程序的编写和调试。

实验环境

Java语言,PC或android平台

实验具体内容

设计和编写以下程序:

程序1:

  1. 从键盘读入多行字符串(英文),并将其写入到一个文本文件(如学号1.txt)中。
  2. 统计字符串中所有的字符个数,并且显示个数信息。(在步骤1的文档中显示字符个数统计信息)如,this document contains XX bytes in total.

程序2:

  1. 从1中文本文件读取所有的字符串。
  2. 将内容在命令行窗口显示出来(要求去掉所有空格)。

实验步骤

对于程序一:

         实验要求我们从键盘输入多行文字,并存储在一个文件中,并统计字符的个数

首先定义一个文件的地址

在为此地址建立一个文件写入流

之后便可写入相关内容,定义一个循环,每次都输入一行文字,当一行输入仅为”over”时意味着写入结束,并输出文件的字符总大小

至此,文件写入结束,关闭写入流即可

对于程序二:

实验二要求我们在命令行中输出在程序一中所写入的除空格外的全部内容

首先,根据程序一中的文件地址创建一个字节输入流对象

对文件内容进行逐个读取字符,若字符为空格,跳过不再输出

        

至此,输出结束,关闭输入流即可

源代码

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Objects;
import java.util.Scanner;

/*
test
I love China
And I love ShenZhen University
But I don't think it is right
over
 */
//本包HW9的文件地址:"D:\IntelliJ IDEA 2023.2.5\test\HW9\Exercise.txt"
public class Q1 {
    static void input(String str) throws IOException {
        FileOutputStream f = new FileOutputStream(str, false); 
	//append:在原有基础上添加内容
        //写入内容
        Scanner r = new Scanner(System.in);
        String s;
        s = r.nextLine();
        int num = 0;
        //when you input 'over', it would be ended
        while (!Objects.equals(s, "over")) {
            f.write(s.getBytes());
            num += s.length();
            s = r.nextLine();
            f.write('\n');
        }
        System.out.println("this document contains " + num + " bytes in total.");
        f.close();  //资源释放
    }

    public static void main(String[] args) throws IOException {
        String str = "D:\\IntelliJ IDEA 2023.2.5\\test\\HW9\\Exercise.txt";
        input(str);
    }
}
import java.io.*;
//本包HW9的文件地址:"D:\IntelliJ IDEA 2023.2.5\test\HW9\Exercise.txt"
public class Q2 {
    static void output(String s) throws IOException {
        //字节输入流
        FileInputStream f = new FileInputStream(s);

        //读取方法:逐步读取法,一个一个字符进行读取
        int a;
        while((a=f.read())!=-1) {
            if ((char) a != ' ')
                System.out.print((char) a);
        }
        f.close();
    }
    public static void main(String []args) throws IOException {
        String str="D:\\IntelliJ IDEA 2023.2.5\\test\\HW9\\Exercise.txt";
        output(str);
    }
}

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值