Java程序设计-07输入输出流.ppt
《Java程序设计-07输入输出流.ppt》由会员分享,可在线阅读,更多相关《Java程序设计-07输入输出流.ppt(28页珍藏版)》请在三一办公上搜索。
1、计算机科学与技术学院赵志崑,Java程序设计,Java程序的输入输出,以一个小应用为例,介绍Java的输入输出机制。,小应用,需求分析需要实现的功能点Java中的实现方法具体代码总结与扩展,随机点名器,功能:设计开发一个Java程序,每节课可以随机抽取几名同学点名,达到随机点名的目的。,数据来源:教务系统提供的学生名单(文本文件),随机选出10个学生,程序流程与要点,文本文件,屏幕打印,要点一:读文件,Java中文件以流(Stream)的方式读写,将程序的输入输出看作是数据的流动,一个流是一个字节的序列。流的使用不局限于文件读写,还可用于网络传输、键盘输入、屏幕输出等和程序输入输出有关的一切活
2、动。根据用途,Java中提供了几十种流,类库中为每一种流提供一个类,用于创建流(对象)。,读文件流,用于读文本文件内容的流是FileReader,主要方法:FileReader(String filename):构造函数,创建流。int read():读一个字节,若读到文件结尾返回-1。void close():关闭流。,FileReader fr=new FileReader(“Students.txt”);,int d=fr.read();,fr.close();,2,0,-1,学生数据读入,从文件students.txt中读入学生数据。/Selector.javaimport java.
3、io.*;public class Selector public static void main(String args)throws ExceptionFileReader fr=new FileReader(Students.txt);int c=fr.read();while(c!=-1)System.out.print(char)c);c=fr.read();fr.close();说明:文件Students.txt必须放在同一个目录下。必须在主函数声明处加入“throws Exception”将异常全部交给虚拟机处理,按行读取,BufferedReader类能实现按行读取的功能,主
4、要方法:BufferedReader(Reader reader):构造函数,创建流。String readLine():读一行字符,若读到文件结尾返回null。void close():关闭流。,字符,字符串,20080854101 伦永涛 2008计算机科学与技术1,BufferedReader br=new BufferedReader(fr);,String s=br.readLine();,br.close();,null,按行读取数据的代码,按行读取学生数据的代码如下:,/Selector.javaimport java.io.*;public class Selector pub
5、lic static void main(String args)throws Exception FileReader fr=new FileReader(Students.txt);BufferedReader br=new BufferedReader(fr);String s=br.readLine();while(s!=null)System.out.println(s);s=br.readLine();br.close();fr.close();,FileReader,文件,流的嵌套,要点二:数据存放,从文件读入的数据是一个个字符串,如何在程序中存放?,20080854101 伦永
6、涛,20080854102 王楚尧,20080854103 李燕,用数组来保存批量数据,创建一个字符串数组,将读入的数据依次放入,用一个整数型变量记录数据个数,并作为空闲位置的指针,String students=new String100;,int count=0;,studentscount=s;,count+;,1,2,3,数据存放的代码,加入数据存放后的代码如下:,/Selector.javaimport java.io.*;public class Selector public static void main(String args)throws Exception String
7、 students=new String100;int count=0;FileReader fr=new FileReader(Students.txt);BufferedReader br=new BufferedReader(fr);String s=br.readLine();while(s!=null)studentscount=s;count+;s=br.readLine();br.close();fr.close();,要点三:随机选取,学生信息存放在数组中,对应下标为0到count-1。如何从中随机选出1个?(产生一个0到count-1的随机整数),Java提供Random类来
8、创建随机数对象,方法包括:Random():构造函数,创建随机数对象,初始值为当前时间。nextInt(int n):产生一个0到n之间的随机整数。要选出几个,就循环调用几次。,Random rand=new Random();,int n=rand.nextInt(count);,Random的实现利用了混沌函数:Xn+1=f(Xn),Xn+1和Xn之间几乎没有任何规律;X0为对象创建时的系统时钟值(从1970年1月1日0时0分0秒到当前经过的毫秒数)。,避免重复选择,避免重复选择:将选中过的学生数据从数组中删除,20080854101 伦永涛,20080854102 王楚尧,2008085
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 07 输入输出
链接地址:https://www.31ppt.com/p-6509934.html