实验七 期中练习

  • 实验目的及要求

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

相关推荐
Bat U3 分钟前
JavaEE|计算机是如何工作的
java·人工智能
~plus~3 分钟前
C#/.NET 8 Span与Memory高性能编程完全指南
开发语言·c#·.net
zore_c3 分钟前
【C++】基础语法(命名空间、引用、缺省以及输入输出)
c语言·开发语言·数据结构·c++·经验分享·笔记
Master_清欢5 分钟前
解决dify插件无限循环的问题
开发语言
许彰午5 分钟前
# 政务表单动态建表?运行时DDL引擎,前端拖完字段后端直接建
java·前端·后端·架构·政务
我登哥MVP7 分钟前
【Spring6笔记】 - 13 - 面向切面编程(AOP)
java·开发语言·spring boot·笔记·spring·aop
宸津-代码粉碎机8 分钟前
Spring Boot 4.0 进阶实战+源码解析系列(持续更新)—— 从落地到源码,搞定面试与工作
java·人工智能·spring boot·后端·python·面试
沐雪轻挽萤9 分钟前
2. C++17新特性-结构化绑定 (Structured Bindings)
java·开发语言·c++
沐知全栈开发9 分钟前
PHP JSON
开发语言
java1234_小锋9 分钟前
Java高频面试题:Kafka的消费消息是如何传递的?
java·开发语言·mybatis