实验七 期中练习

  • 实验目的及要求

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

相关推荐
风象南2 分钟前
SpringBoot的5种日志输出规范策略
java·spring boot·后端
cccc来财8 分钟前
Go中的协程并发和并发panic处理
开发语言·后端·golang
咖啡啡不加糖9 分钟前
深入理解MySQL死锁:从原理、案例到解决方案
java·数据库·mysql
zimoyin11 分钟前
Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题
java
狐凄12 分钟前
Python实例题:Python计算线性代数
开发语言·python·线性代数
啾啾Fun28 分钟前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson
消失的旧时光-194343 分钟前
Android USB 通信开发
android·java
惊鸿一博1 小时前
java_网络服务相关_gateway_nacos_feign区别联系
java·开发语言·gateway
Bruce_Liuxiaowei1 小时前
深入理解PHP安全漏洞:文件包含与SSRF攻击全解析
开发语言·网络安全·php
成工小白1 小时前
【C++ 】智能指针:内存管理的 “自动导航仪”
开发语言·c++·智能指针