输入输出流带仓库系统作业.ppt

上传人:F****n 文档编号:97814596 上传时间:2019-09-06 格式:PPT 页数:45 大小:112.50KB
返回 下载 相关 举报
输入输出流带仓库系统作业.ppt_第1页
第1页 / 共45页
输入输出流带仓库系统作业.ppt_第2页
第2页 / 共45页
输入输出流带仓库系统作业.ppt_第3页
第3页 / 共45页
输入输出流带仓库系统作业.ppt_第4页
第4页 / 共45页
输入输出流带仓库系统作业.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《输入输出流带仓库系统作业.ppt》由会员分享,可在线阅读,更多相关《输入输出流带仓库系统作业.ppt(45页珍藏版)》请在金锄头文库上搜索。

1、输入输出流,概述 File (文件类) FileInputStream FileOutputStream FileReader 和 FileWriter RandomAccessFile PipedInputStream/PipedOutputStream DateInputStream/ DateOutputStream ObjectInputStream/ ObjectOutputStream PrintStream/PrintWriter,1.概述,一个计算机的最简单模型由下列三个管道组成: 输入,处理,输出。 Java 的I/O 流库提供大量的流类(在包java.io中), 其中,所有

2、输入流类都是InputStream(抽象类)或抽象类Reader的子类,而所有输出流类都是OutputStream(抽象类)或抽象类Writer的子类,2.文件(File 类),File 类不允许访问文件的内容,没有可用于访问文件的read() 和write()方法. File 类主要用于命名文件,查询文件属性和处理目录.,2.1. 创建文件对象,构造方法: 1. public File(String s); (在Windows平台,分割符为“”, 在Linux/Unix上,为“/”, File 提供的参数: File.separator) 2. public File(String Dire

3、ctory, String s);,2.2 查询文件属性,File 类提供了几个方法, 查询文件属性: 文件是否存在 文件是否读保护 文件是否写保护 文件是否是一个目录 文件是否隐藏,2.3 查询文件属性,String s=“e:“+File.separator+“Thread1.java“; File file=new File(s); String exists = file.exists() ? “Yes“ : “No“; String canRead = file.canRead() ? “Yes“ : “No“; String canWrite = file.canWrite() ?

4、 “Yes“ : “No“; String isFile = file.isFile() ? “Yes“ : “No“; String isHid = file.isHidden() ? “Yes“ : “No“; String isDir = file.isDirectory() ? “Yes“ : “No“; String isAbs = file.isAbsolute() ? “Yes“ : “No“; Attr.java,3. FileInputStream,FileInputStream典 型 地 表 示 一 种 顺 序 访 问 的 文 本 文 件。 通过 使 用FileInputS

5、tream你 可 以 访 问 文 件 的 一 个 字 节、 几 个 字 节或 整 个 文 件。 由InputStream 派生的类 构造方法: FileInputStream(String name); /使用给定的文件名创建一个FileInputStream对象 FileInputStream(File file); /使用File对象创建一个FileInputStream对象,3.1 使用 FileInputStream读取文件,使用构造方法来打开一个到达该文件的输入流: FileInputStream myFileStream; myFileStream = new FileInputS

6、tream (“myfile.dat“); 或: File myFile ; FileInputSteam myFileStream; myFile = new File(“ myfile.dat “); myFileStream = new FileInputStream(myFile);,3.2 处理 I/O 异常,必须使用catch 块检测并处理I/O 异常(IOException ), 如: try FileInputStream ins= new FileInputStream (“myfile.dat“); catch (IOException e) /文件I/O 错误 Syste

7、m.out.println(“File read error: ” +e); ,3.3 从 FileInputStream中读出,read() 的成员函数 : int read() /读取一个字节 /到达输入流末尾时, 返回-1 int read(byte b) /把多个字节读到字节数组中 /到达输入流末尾时, 返回-1 int read(byte b,int off, int len) /off指定read方法把数据存放在字节数组b 中的什么地方。 /len 指定该方法将读取的最大字节数。 /到达输入流末尾时, 返回-1,3.4 关闭 FileInputStream,两 种 方 法 关 闭

8、: 显式 关 闭 和 隐 式 关 闭, 隐 式 关 闭 是 自 动 垃 圾 回 收 时 的 功 能。 显 式 关 闭 为: myFileStream.close();,int b; byte buffer=new byte2500; try File f=new File(“E:lanhong“, “a.txt“); FileInputStream readfile=new FileInputStream (f); b=readfile.read(buffer,0,2500); try String str=new String(buffer,0,b,“Default“); System.ou

9、t.println(str); catch(UnsupportedEncodingException e) System.out.println(“the encoding was not found: “+e); catch (IOException e) System.out.println(“File read Error“); Example20_1.java,4. FileOutputStream,FileOutputStream用 于 向 一 个 文 本 文 件 写 数 据。 由OutputStream 派生的类,4.1 打开 FileOutputStream,和 打 开 输 入

10、流 FileInputStream类似 : FileOutput Stream myFileStream; myFileStream = new FileOutputStream ( “file.txt“); 或: File myFile ; FileOutputSteam myFileStream; myFile = new File(“file.txt“); myFileStream = new FileOutputStream(myFile);,4.2 写入一个流,write() 的成员函数 : void write(byte b) /写b.length个字节到输出流 void writ

11、e (byte b, int off, int len) /b 是数据,off 是数据的起始偏移量,len是 要输出的字节数,public static void main(String args) int b; byte buffer=new byte100; try System.out.println(“输入一行文本,并存入磁盘: “); b=System.in.read(buffer); /把从键盘输入的字符存入buffer FileOutputStream writefile=new FileOutputStream(“line.txt“); writefile.write(buff

12、er,0,b); /通过流把buffer 写入到文件line.txt 中 catch (IOException e) System.out.println(“Error “); Example20_3.java,5. FileReader 和 FileWriter,与FileInputStream和FileOutputStream等价的读取器是FileReader类和FileWriter类。它们分别是Reader 和 Writer 的子类。 构造方法分别是: FileReader(String filename); FileWriter(String filename); 如:FileRead

13、er file = new FileReader(“Student.txt”); 不能按行读取或写入,5. 1 BufferedReader,FileReader类不能读取一行,Java 提供了BufferedReader 类。 构造方法是: BufferedReader(Reader in); 读取文本行的方法是: readLine(); 如: BufferedReader in= BufferedReader(new FileReader(“Student.txt”);,P261, 例4 Example20_4 TextArea text; BufferedReader in; Butto

14、n button; FileReader file; EWindow() super(“流的读取“); text=new TextArea(10,10); text.setBackground(Color.cyan); try File f=new File(“E:lanhong“, “a.txt“); file=new FileReader(f); in=new BufferedReader(file); catch(FileNotFoundException e) catch(IOException e) button=new Button(“读取“); button.addActionL

15、istener(this);,setLayout(new BorderLayout(); setSize(40,40); setVisible(true); add(text,“Center“); add(button, “South“); addWindowListener( new WindowAdapter() public void windowClosing(WindowEvent e)System.exit(0); ); public void actionPerformed(ActionEvent e) String s; if(e.getSource()=button) try while (s=in.readLine()!=null) text.append(s); catch(IOException exp) public class Example20_4 public static void main(String args) EWindow w=new EWindow(); w.pack(); ,5. 2 BufferedWriter,与BufferedReader 类相对应的是BufferedWriter 类。 构造方法是: BufferedWriter(Writer out)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号