实验七 期中练习

  • 实验目的及要求

**目的:**掌握File类的作用和使用方法,掌握运用文件字节输入输出流对文件进行操作,综合运用学过的知识。

要求:

(1)编写FileDemo类测试File类的常用方法

(2)用FileOutputStream类向文件中写入一串字符,然后用FileInputStream读出写入的内容

(3)综合运用学过的知识设计一个程序模拟银行的自动取款机ATM的使用过程

二、实验环境

计算机一台,JDK,EditPlus

三、实验原理

File类、FileInputStream类和FileOutputStream类的用法

四、实验内容与步骤

  1. 编写一个FileDemo类测试File类的如下主要方法。

(1) 访问属性

  1. boolean canRead()

测试File实例所指文件或目录是否可读。

  1. boolean canWrite()

测试File实例所指文件或目录是否可写。

  1. boolean exists()

测试File实例所标识的文件或目录是否存在。

  1. File getAbsoluteFile()

返回File实例的绝对路径。

  1. String getName()

返回由File实例表示的文件或目录的名称。

  1. String getParent()

返回File实例所指文件或目录的父目录的路径名,如果此路径名没有指定父目录,则返回null。

  1. String getPath()

返回File实例所表示的路径名。

  1. boolean isDirectory()

测试File实例所标识的文件是否是一个目录。

  1. boolean isFile()

测试File实例所标识的文件是否是一个标准文件。

(2) 新建、更名与删除

  1. boolean createNewFile()

当File实例所标识的文件不存在而其父路径存在时,新建一个空的普通文件并返回true。若文件已存在或不能被创建则返回false。

  1. boolean mkdir()

当File实例所标识的目录不存在而其父路径存在时,新建一个目录并返回true。

  1. boolean mkdirs()

当File实例所标识的目录不存时,新建一个目录以及父路径中的各级原先不存在的父目录,并返回true。

  1. boolean delete()

删除由File实例所指的文件或者目录。若删除的是目录,那么该目录必须为空。

  1. boolean renameTo(File dest)

将当前File实例所指的文件或者目录更改为由参数dest标识。该方法既可以实现文件或目录的更名,也可以实现文件或目录的移动。在实现移动时,方法会自动创建需要的各级父目录。

(3) 目录列表

  1. String\[\] list()

返回File实例所指目录中的所有文件或子目录的名字组成的字符串数组。若当前File实例表示的是普通文件而不是一个目录,则返回null。

  1. File\[\] listFiles()

如果File实例所指的不是一个目录,那么此方法将返回null。否则返回一个File对象数组,每个数组元素对应目录中的每个文件或目录。如果目录为空,那么数组也将为空。

  1. 用FileOutputStream类向文件中写入一串字符,然后用FileInputStream读出写入的内容。
  1. 模拟银行的自动取款机ATM 使用过程中的界面和用户交互过程

功能说明:

(1)模拟自动取款机(ATM)的流程,实现查询银行卡余额、取款、存款、退出系统等功能。

(2)取款金额受卡余额的限制。

(3)程序的运行过程如下图所示。

相关推荐
懂点Tech1 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
金銀銅鐵2 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)
java·后端·ai编程
catchadmin2 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
福建佰胜张工3 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
念何架构之路3 小时前
go-grpc设计思想
开发语言·后端·golang
catoop3 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
system_error_x3 小时前
SpringBoot 集成 Thymeleaf 简洁入门
java·spring boot·后端
酷炫码神3 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
驭渊的小故事4 小时前
Spring AI Alibaba 实战:从maven依赖治理到声明式工具调用
java·人工智能·spring
Elastic 中国社区官方博客4 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es