第3章-Java在文件中的应用ppt课件(全).ppt
-
资源ID:77372616
资源大小:389.05KB
全文页数:30页
- 资源格式: PPT
下载积分:9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第3章-Java在文件中的应用ppt课件(全).ppt
第三章第三章 Java 在文件中的应用在文件中的应用13.1流式输入输出与文件处理3.2文件概念解读3.3 File类3.4 事务处理程序3.5 文件相关类 23.1流式输入输出与文件处理流式输入输出与文件处理与外部设备和其他计算机进行交流的输入输出操作,尤其是对磁盘的文件操作,是计算机程序重要而必备的功能,任何计算机语言都必须对输入输出提供支持。Java 语言也不例外,它的输入输出类库中包含了丰富的系统工具已定义好的用于不同情况的输入输出类。利用它们,Java程序可以很方便地实现多种输入输出操作和复杂的文件与目录管理。33.1.1 Java输入输出类库输入输出类库Java的输入输出功能必须借助于输入输出类库Java.io包来实现,这个包中的类大部分是用来完成流式输入输出的流类。下面介绍一下流的概念:1流的概念在Java里,信息可以使用一套叫做“流”的通信系统来存储和获取,该系统是在包Java.io中实现的。事实上,流(stream)就是指在计算机的输入与输出之间运动的数据序列。它是一种功能强大的数据处理机制,就像共享着同一个名字的水流一样,可以将某些内容从一个地方带到另一个地方。一个流是程序中数据所途径的一条路径,那么输入流(input stream)就是将数据从某个外设(源端)发送到程序中,而一个输出流(output stream)是将数据从程序中向外发送到某个外设(目的端)。字节流(byte stream):主要是用来处理字节、整数和其他简单的数据类型。字符流(character stream):是一个特殊类型的字节流,但是不同于字节流,主要是用来处理文本文件和其他文件数据源。过滤流(Filtered stream):是使用FilterInputStream或FilterOutputStream的子类之一创建的,是对现有流所传递的信息进行修改的流。缓冲区(buffer):是一片存储区域,数据在需要由程序读取或写入之前都可以存放在那里。通过使用缓冲区,可以不用总是回溯到最初的数据源那里去获取数据。缓冲流(buffer stream):带缓冲的字节流用到了BufferedInputStream和BufferedOutputStream。4文件的处理与随机访问文件的处理与随机访问1java程序的文件与目录管理程序的文件与目录管理任何计算机程序运行时,它的指令和数据都保存在系统的内存中,由任何计算机程序运行时,它的指令和数据都保存在系统的内存中,由于每次计算机关机时保存在内存中的所有信息都会丢失,所以程序要于每次计算机关机时保存在内存中的所有信息都会丢失,所以程序要想永久保存运算处理所得的结果,就必须把这些结果保存在磁盘文件想永久保存运算处理所得的结果,就必须把这些结果保存在磁盘文件中,文件是数据赖以保存的永久性机制,文件操作是计算机程序必备中,文件是数据赖以保存的永久性机制,文件操作是计算机程序必备的功能。的功能。目录是管理文件的特殊机制,同类文件包括在同一个目录下可以简化目录是管理文件的特殊机制,同类文件包括在同一个目录下可以简化文件管理,提高工作效率。文件管理,提高工作效率。Java语言不但支持文件管理,还支持其他语言不但支持文件管理,还支持其他语言。例如语言。例如C语言所不支持的目录管理,但在语言所不支持的目录管理,但在java语言中,它们都是语言中,它们都是由专门的类由专门的类File来实现。来实现。File类也在类也在java.io包中,但它不是包中,但它不是InputStream或者或者OutputStream的子类,因为它不负责数据的输入的子类,因为它不负责数据的输入输出,而专门用来管理磁盘文件和目录。输出,而专门用来管理磁盘文件和目录。每个每个File类的对象表示一个磁盘文件或目录,其对象属性中包含了文类的对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息,如名称、长度、所含文件个数等,调用它的方件或目录的相关信息,如名称、长度、所含文件个数等,调用它的方法则可以完成对文件或目录的常用管理操作,如创建、删除等。法则可以完成对文件或目录的常用管理操作,如创建、删除等。5/TestFileDialog.java1:import java.io.*;2:import java.awt.*;3:import.*;4:public class TestFileDialog5:public static void main(String args)6:new FileFrame();7:class FileFrame extends Frame implements ActionListener 8:TextArea ta;9:Button open,quit;10:FileDialog fd;11:FileFrame()12:super(“获取并显示文本文件”);13:ta=new TextArea(10,45);14:open=new Button(“打开”);15:quit=new Button(“关闭”);16:open.addActionListener(this);17:quit.addActionListener(this);18:setLayout(new FlowLayout();19:add(ta);620:add(open);21:add(quit);22:setSize(350,280);23:show();24:public void actionPerformed(ActionEvent e)25:if(e.getActionCommand()=”打开”)26:27:fd=new FileDialog(this,”打开文件”,FileDialog.LOAD);28:fd.setDirectory(“c:temp”);/设置文件对话框的基础目录29:fd.show();/弹出并显示文件对话框,程序暂停直至用户选定一文件30:try31:File myfile=new File(fd.getDirectory(),fd.getFile();32:RandomAccessFile raf=new RandomAccessFile(myfile,”r”);33:while(raf.getFilePointer()0&accountNumber=100)91:record.setAccount(accountNumber);92:record.setFirstName(fieldsBankUI.FIRST);93:record.setLastName(fieldsBankUI.LAST);94:record.setBalance(Double.parseDouble(fieldsBankUI.BALANCE);95:output.seek(accountNumber-1)*Record.size();96:record.write(output);97:98:userInterface.clearFields();/clear TextFields99:100:catch(NumberFormatException nfe)101:JOptionPane.showMessageDialog(this,”Bad account number or balance”,“Invalid Number Format”,JOptionPane.ERROR_MESSAGE);102:103:catch(IOException io)104:closeFile();105:106:107:/创建一个 WriteRandomFile 的对象来开始程序108:public static void main(String args)109:110:new WriteRandomFile();111:112:263.3 File类类Java.io包中提供了丰富的用于输入和输出的类。前面我们介绍了用于顺序文件的类(FileInputStream和FileOutputStream),用于处理对象流的类(ObjectInputStream和ObjectOutputStream)以及用于随机存取文件的类(RandomAccessFile)。接着来介绍File类,它广泛用于获取磁盘中的文件或目录信息。File类的对象并不打开文件,也不提供任何文件处理功能。使用File对象的应用程序是为了检查文件是否存在。如果用FileOutputStream对象打开一个已存在的文件用于输出数据,那么其中原有的信息就会毫无提示地被删除。File对象可以用于确定文件是否已经存在。如果存在,则利用RandomAccessFile对象而不是用FileOutputStream对象打开它,或可以事先警告用户将要删除原来的文件内容。27File对象有3个用于初始化的构造函数。构造函数:public File(String name);public File(String pathToName,String name)public File(File directory,String name)283.4 事务处理程序事务处理程序程序维护了一个银行的帐户信息,它提供修改已有帐户、增加新帐户、删除帐户等功能。293.5 文件相关类文件相关类类类在File类中读取一个已知的文件信息,可以通过File类的构造方法来实现。但是在具体操作中,用户往往希望通过某种方式从多个文件中选择所需要的文件名。Swing包中的JFileChooser类就提供了一个很好的解决办法,允许用户通过GUI界面进行人机交互的方法,从文件选择对话框中,通过导航目录和文件,来选择文件,操作简单方便。30