实验七 期中练习

  • 实验目的及要求

**目的:**掌握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)程序的运行过程如下图所示。

相关推荐
平常心的技术小牛29 分钟前
Qt-快速上手-QMenuBar
开发语言·qt
青 春 记 忆1 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
2601_963870202 小时前
【计算机毕业设计】基于Spring Boot的专科医院医疗管理系统
java·spring boot·课程设计
Bingo_BIG2 小时前
Java Spring 批量修改,实体、接口、方法的定义
java·spring
画中有画2 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
Shaoxi Zhang2 小时前
JAVA学习笔记035——对象和JSON格式
java·笔记·学习
赵丙双2 小时前
CountDownLatch 源码分析
java·aqs·countdownlatch
余额瞒着我当琳3 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
thefool1122663 小时前
翻转二叉树
java
坐吃山猪3 小时前
WebClient内存配置解析
开发语言·springboot·webflux