




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验九 输入输出和日期类 开发语言及实现平台或实验环境 Windows2000 或 XP JDK1 6 与 Jcreator4 0 实验目的 1 了解Java输入输出流类与日期类等的基本使用方法 实验要求 1 掌握不同类型的输入输出流类 标准数据流 文件流 数据输入输出流 对象流等 实验内容 一 使用输入输出流类 1 使用标准数据流的应用程序 标准数据流指在字符方式下 如DOS 提示符 程序与系统进行输入输出的方式 键盘 和显示器屏幕是标准输入输出设备 数据输入的起点为键盘 数据输出的终点是屏幕 输 出的数据可以在屏幕上显示出来 1 程序功能 将键盘上输入的字符在屏幕上显示出来 2 编写LX9 3 java 程序文件 源代码如下 class LX9 3 public static void main String args throws java io IOException byte buffer new byte 10 System out println 从键盘输入不超过10 个字符 按回车键结束输入 int count System in read buffer 读取输入的字符并存放在缓冲区buffer 中 System out println 保存在缓冲区buffer 中元素的个数为 count System out println buffer 中各元素的值为 for int i 0 i count i System out print buffer i 在屏幕上显示buffer 元素的值 System out println System out println 输出buffer 字符元素 System out write buffer 0 buffer length 3 编译LX9 3 java 文件 4 在命令提示符窗口运行LX9 3 class 文件 并输入1234 结果如图9 1 所示 图 9 1 2 使用文件输入输出流的应用程序 1 程序功能 将保存在本地机当前文件夹中的LX9 1 HTML 文本文件的内容在屏幕上 显示出来 然后将其另存为LX9 1 txt 文件 2 编写LX9 4 java 程序文件 源代码如下 import java io public class LX9 4 public static void main String args throws IOException FileReader in new FileReader LX9 1 HTML 建立文件输入流 BufferedReader bin new BufferedReader in 建立缓冲输入流 FileWriter out new FileWriter LX9 1 txt true 建立文件输出流 String str while str bin readLine null 将缓冲区内容通过循环方式逐行赋值给字符串str System out println str 在屏幕上显示字符串str out write str n 将字符串str 通过输出流写入LX9 1 txt 中 in close out close 3 编译并运行程序 结果如图9 2 所示 图 9 2 4 在当前文件夹中找到LX9 1 txt 文件并打开 可看到如图9 3 所示内容 再运行一 次程序 看看会发生什么变化 图 9 3 3 使用随机文件类的应用程序 使用文件输入类FileReader 只能将文件内容全部读入 如果要选择读入文件的内容 可使用随机文件类RandomAccessFile 1 程序功能 建立数据流 通过指针有选择的读入文件内容 2 编写LX9 5 java 程序文件 源代码如下 import java io class LX9 5 public static void main String args String str First line n Second line n Last line n try RandomAccessFile rf new RandomAccessFile LX9 5 txt rw System out println n 文件指针位置为 rf getFilePointer System out println 文件的长度为 rf length rf seek rf length System out println 文件指针现在的位置为 rf getFilePointer for int i 0 i 3 i rf writeChars str i 字符串转为字节串添加到文件末尾 rf seek 10 System out println n 选择显示的文件内容 String s while s rf readLine null System out println s rf close catch FileNotFoundException fnoe catch IOException ioe 3 编译并运行程序 结果如图9 4 所示 图 9 4 4 使用数据输入输出流与文件输入输出流类的应用程序 使用数据输出流DataOutputStream 和数据输入流DataInputStream 可以读取或写入任 何Java 类型的数据 不用关心它们的实际长度是多少字节 一般与文件输入流 FileInputStream 和输出流类FileOutputStream 一起使用 1 程序功能 将整型数据和字符串对象通过数据输出流写到文件中 将文件中的 整型数据和字符串对象通过数据输出流读出 并在屏幕上显示文件中的内容 2 编写LX9 6 java 程序文件 源代码如下 import java io public class LX9 6 public static void main String arg try 添加方式创建文件输出流 FileOutputStream fout new FileOutputStream LX9 6 txt true DataOutputStream dout new DataOutputStream fout dout writeInt 1 dout writeChars 罗马 n dout writeInt 2 dout writeChars 北京 n dout close catch IOException ioe try FileInputStream fin new FileInputStream LX9 6 txt DataInputStream din new DataInputStream fin int i din readInt while i 1 输入流未结束时 输入流结束时i 为 1 System out print i char ch while ch din readChar n 字符串未结束时 System out print ch System out println i din readInt din close catch IOException ioe 3 编译并运行程序 结果如图9 5 所示 图 9 5 5 使用对象输入输出流的应用程序 使用对象流可以直接写入或读取一个对象 由于一个类的对象包含多种信息 为了保 证从对象流中能够读取到正确的对象 因此要求所有写入对象流的对象都必须是序列化的 对象 一个类如果实现了Serializable 接口 那么这个类的对象就是序列化的对象 Serializable 接口没有方法 实现该接口的类不需要实现额外的方法 1 程序功能 保存对象信息到文件 并将文件中的对象信息显示出来 2 编写LX9 7 java 程序文件 源代码如下 import java io public class LX9 7 implements Serializable 序列化接口 int bh 1 int nl 21 String xm LX9 7 int bh String xm int nl 构造方法 this bh bh this xm xm this nl nl LX9 7 构造方法 this 0 21 void save String fname 保存到文件中的方法 try FileOutputStream fout new FileOutputStream fname 输出文件流 ObjectOutputStream out new ObjectOutputStream fout 输出对象流 out writeObject this 写入对象 out close catch FileNotFoundException fe catch IOException ioe void display String fname 显示文件中对象信息的方法 try FileInputStream fin new FileInputStream fname 输入文件流 ObjectInputStream in new ObjectInputStream fin 输入对象流 LX9 7 OO LX9 7 in readObject 读取对象 System out println 类名 OO getClass getName OO getClass getInterfaces 0 System out println OO bh OO xm OO nl in close catch FileNotFoundException fe catch IOException ioe catch ClassNotFoundException ioe public static void main String arg String fname LX9 7 obj LX9 7 O1 new LX9 7 1 张驰 14 O1 save fname O1 display fname 3 编译并运行程序 结果如图9 6 所示 图 9 6 二 使用日期类 Java 提供了3 个日期类 Date Calendar 和DateFormat 其中 Date 类主要用于创 建日期对象并获取日期 Calendar 类可获取和设置日期 DateFormat 类用来设置日期的 格式 Java 语言规定的基准日期为1970 1 1 00 00 00 格林威治 GMT 标准时间 当前日 期是由基准日期开始所经历的毫秒数转换出来的 1 使用日期类的Applate 应用程序 1 程序功能 说明3 个日期类Date Calendar 和DateFormat 使用方式及显示的样式 2 编写LX9 9 java 程序文件 源代码如下 import java text import java util import java awt import java applet public class LX9 9 extends Applet public void paint Graphics g Date today Calendar now DateFormat f1 f2 String s1 s2 today new Date 获取系统当前日期 g drawString 字符串格式 today toString 20 20 f1 DateFormat getInstance 以默认格式生成格式化器 s1 f1 format today 将日期转换为字符串 g drawString 系统格式 s1 20 40 生成长格式的中国日期格式化器 f1 DateFormat getDateInstance DateFormat LONG Locale CHINA 生成长格式的中国时间格式化器 f2 DateFormat getTimeInstance DateFormat LONG Locale CHINA s1 f1 format today 将日期转换为日期字符串 s2 f2 format today 将日期转换为时间字符串 g drawString 中国格式 s1 s2 20 60 now Calendar getInstance 获取系统时间 s1 now get now HOUR 时 now get now MINUTE 分 now get now SECOND 秒 g drawString 调整前时间 s1 20 80 now set 2004 8 15 9 9 9 today now getTime g drawString 调整后时间 today toString 20 100 3 编译程序文件 4 在浏览器中打开包含应用程序的页面文件 显示结果如图9 7 所示 图 9 7 2 在独立运行的应用程序中使用日期函数 1 程序功能 补充说明3 个日期类Date Calendar 和DateFormat 的使用方式及显示 的样式 2 编写LX9 10 java 程序文件 源代码如下 import java util import java text public class LX9 10 public static void main String args Date today new Date 当前日期和时间 SimpleDateFormat sdf sdf new SimpleDateFormat yyyy 年MM 月dd 日hh 时mm 分ss 秒 a EEEEE System out println 当前日期和时间 sdf format today long hms System currentTimeMillis 当前时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省唐县第一中学2024-2025学年高一(3+1)下学期4月期中化学试卷(含答案)
- 曲靖市2025届三下数学期末检测模拟试题含解析
- 江西旅游商贸职业学院《计量经济及应用》2023-2024学年第二学期期末试卷
- 四川绵阳富乐园际校2024-2025学年初三下学期期末英语试题试卷含答案
- 河南省安阳市殷都区重点名校2025年中考押题预测卷(语文试题理)试卷含解析
- 原平市2025届小升初常考易错数学检测卷含解析
- 锡林郭勒职业学院《有机波谱解析》2023-2024学年第二学期期末试卷
- 四川省绵阳市达标名校2025届初三下学期3月月考语文试题试卷含解析
- 浙江省杭州市杭州风帆中学2025届初三1月联考物理试题含解析
- 苏州市职业大学《数值代数》2023-2024学年第二学期期末试卷
- 基于PLC的自动生产线控制系统的设计毕业论文
- 课题申报参考:深化产业工人队伍建设改革研究
- GB/T 45211.7-2025小麦抗病虫性评价技术规程第7部分:蚜虫
- 新时代青年传承和弘扬传统文化研究
- 杜邦分析体系下泸州老窖公司盈利能力研究11000字
- 2025年四川省攀枝花市米易县人才引进80人历年高频重点提升(共500题)附带答案详解
- 《浙江大学网站介绍》课件
- 口腔癌预防科普
- GST200火灾报警控制器(联动型)安装使用介绍说明手册
- 游戏情感化设计研究-洞察分析
- 《食疗与慢性病》课件
评论
0/150
提交评论