首页 第9章输入输出流

第9章输入输出流

举报
开通vip

第9章输入输出流nullnull第9章 输入和输出流本章重点 字节流的输入和输出 字符流的输入和输出 缓冲式的输入和输出 随机访问 文件对话框的方法 更多优质自考资料尽在百度贴吧自考乐园俱乐部(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........文件*文件什么是文件? 文件可认为是相关记录或放在一起的数据的集合 文件一般存储在哪里? JAVA程序一般通过什么去访问文件属性? JAVA API :java....

第9章输入输出流
nullnull第9章 输入和输出流本章重点 字节流的输入和输出 字符流的输入和输出 缓冲式的输入和输出 随机访问 文件对话框的方法 更多优质自考资料尽在百度贴吧自考乐园俱乐部(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........文件*文件什么是文件? 文件可认为是相关记录或放在一起的数据的集合 文件一般存储在哪里? JAVA程序一般通过什么去访问文件属性? JAVA API :java.io.File 类 文件 *文件 文件*文件import java.io.File; …… File file = new File(args[0]); System.out.println("文件或目录是否存在:" + file.exists()); System.out.println("是文件吗:" + file.isFile()); System.out.println("是目录吗:" + file.isDirectory()); System.out.println("名称:" + file .getName()); System.out.println("路径: " + file.getPath()); System.out.println("绝对路径: " + file.getAbsolutePath()); System.out.println("最后修改时间:" + file.lastModified()); System.out.println(“文件大小:” + file.length()+ “ 字节”); …… 流*流流是指一连串流动的字符,是以先进先出方式发送信息的通道InputStreamOutputStream来自数据源的数据流流向目的地的数据流流*1. 输入流 通过打开一个到数据源(文件、内存或网络端口上的数据)的输入流,程序可以从数据源上顺序读取数据。 流流*2. 输出流 通过打开一个到目标的输出流,程序可以向外部目标顺序写数据。流流*流Java流的分类 字符流类(Character Streams) 字符流类用于向字符流读写16位二进制字符。 Reader Writer   字节流类(Byte Streams) 字节流类用于向字节流读写8位二进制的字节。一般地,字节流类主要用于读写诸如图象或声音等的二进制数据. InputStream OutputStream 流*java.io中的基本流类: 说明:它们是抽象类,不能直接创建对象。 流*null*1. InputStream 方法 The three basic read methods: int read() int read( byte[] buffer) int read( byte[] buffer, int offset, int length) The other methods: void close() int available() skip( long n) null*2. OutputStream 方法 The three basic write methods: void write( int c) void write( byte[] buffer) void write( byte[] buffer, int offset, int length) The other methods: void close() void flush() null*3. Reader Methods The three basic read methods: int read() int read( char[] cbuf) int read( char[] cbuf, int offset, int length) The other methods: void close() boolean ready() skip( long n) null*4. Writer 方法 The three basic write methods: void write( int c) void write( char[] cbuf) void write( char[] cbuf, int offset, int length) void write( String string) void write( String string, int offset, int length) The other methods: void close() void flush() 文件的读写*文件的读写文本文件的读写 用FileInputStream读文本文件 用FileOutputStream写文本文件 用BufferedReader读文本文件 用BufferedWriter写文本文件 二进制文件的读写用FileInputStream 读文本文件*用FileInputStream 读文本文件引入相关的类 import java.io.IOException; import java.io.InputStream; import java.io.FileInputStream; 构造一个文件输入流对象 InputStream fileobject = new FileInputStream(“text.txt”); 用FileInputStream 读文本文件*用FileInputStream 读文本文件利用文件输入流类的方法读取文本文件的数据 fileobject.available(); //可读取的字节数 fileobject.read(); //读取文件的数据 关闭文件输入流对象 fileobject.close(); 用FileInputStream 读文本文件*用FileInputStream 读文本文件 public static void main(String[] args) throws IOException { int size; InputStream fileobject = new FileInputStream(args[0] ); System.out.println(“可读取的字节数: " + (size = fileobject.available())); char[] text = new char[200] ; for (int count = 0; count < size; count++) { text[count] = ((char) fileobject.read()); System.out.print(text[count]); } System.out.println(""); fileobject.close(); }使用 read( ) 方法一次读取一个字符,然后将字符存储在字符数组中并显示字符使用 available( ) 方法确定文件的大小用FileOutputStream 写文本文件*用FileOutputStream 写文本文件引入相关的类 import java.io.IOException; import java.io.OutputStream; import java.io.FileOutputStream; 构造一个文件输出流对象 OutputStream fos = new FileOutputStream("Text.txt"); 用FileOutputStream 写文本文件*用FileOutputStream 写文本文件利用文件输出流的方法写文本文件 String str ="好好学习Java"; byte[] words = str.getBytes(); fos.write(words, 0, words.length); 关闭文件输出流 fos.close(); 用FileOutputStream 写文本文件*用FileOutputStream 写文本文件 public static void main(String[] args) {  try { String str ="好好学习Java"; byte[] words = str.getBytes(); OutputStream fos = new FileOutputStream("Text.txt"); fos.write(words, 0, words.length); System.out.println("Text文件已更新!"); fos.close(); } catch (IOException obj) { System.out.println("创建文件时出错!"); } } 使用 write( ) 方法将数据写入文件缓冲式输入输出*缓冲式输入输出当程序处理的文件按行组织,并且行不是定长时,用前面所述的流类实现很不方便.这时可采用缓冲式输入输出方式. 缓冲式输入:对于程序的输入请求,系统一次性输入足够多的内容放在内存缓冲区中,供程序以后的输入请求使用,待缓冲区的内容用完,再一次性输入足够多的数据. 缓冲式输出:对于程序的输出请求,系统先将内容暂存于缓冲区,待缓冲区满或输出结束,才将暂存与缓冲区中的内容输出到流的目的地.用BufferedReader 读文本文件*用BufferedReader 读文本文件引入相关的类 import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; 构造一个BufferedReader对象 FileReader fr=new FileReader("mytest.txt"); BufferedReader br=new BufferedReader(fr); 用BufferedReader 读文本文件*用BufferedReader 读文本文件利用BufferedReader的方法读取文本文件的数据 br.readLine(); //读取一行数据,返回字符串 关闭相关的流对象 br.close(); fr.close();;用BufferedReader 读文本文件*用BufferedReader 读文本文件演示:示例 4 /**创建一个FileReader对象.*/ FileReader fr=new FileReader("mytest.txt"); /**创建一个BufferedReader 对象.*/ BufferedReader br=new BufferedReader(fr); /**读取一行数据.*/ String line=br.readLine(); while(line!=null){ System.out.println(line); line=br.readLine(); } /**流的关闭.*/ br.close(); fr.close(); 创建一个 FileReader 对象 创建一个 BufferedReader对象 用BufferedWriter 写文本文件*用BufferedWriter 写文本文件引入相关的类 import java.io.FileWriter ; import java.io.BufferedWriter ; import java.io.IOException; 构造一个BufferedWriter对象 FileWriter fw=new FileWriter("mytest.txt"); BufferedWriter bw=new BufferedWriter(fw);用BufferedWriter 写文本文件 *用BufferedWriter 写文本文件 利用BufferedWriter的方法写文本文件 bw.write (“hello”); 相关流对象的清空和关闭 bw.flush(); fw.close();用BufferedWriter 写文本文件*用BufferedWriter 写文本文件 /**创建一个FileWriter 对象*/ FileWriter fw=new FileWriter("mytest.txt"); /**创建一个BufferedWriter 对象*/ BufferedWriter bw=new BufferedWriter(fw); bw.write("大家好!"); bw.write("我正在学习BufferedWriter。"); bw.newLine(); bw.write("请多多指教!"); bw.newLine(); bw.write("email: study@jb-aptech.com.cn"); bw.flush(); fw.close();创建一个 BufferedWriter对象 创建一个 FileWriter 对象 用DataInputStream 读二进制文件*用DataInputStream 读二进制文件引入相关的类 import java.io.FileInputStream; import java.io.DataInputStream; 构造一个数据输入流对象 FileInputStream fis = new FileInputStream(“HelloWorld.class”); DataInputStream dis = new DataInputStream(fis); 利用数据输入流类的方法读取二进制文件的数据 dis.readInt(); // 读取出来的是整数 dis.readByte(); // 读取出来的数据是Byte类型 数据输入流的关闭 dis.close (); //关闭数据输入流 用DataOutputStream 写二进制文件*用DataOutputStream 写二进制文件引入相关的类 import java.io. FileOutputStream; import java.io. DataOutputStream; 构造一个数据输出流对象 FileOutputStream outFile = new FileOutputStream("temp.class"); DataOutputStream out = new DataOutputStream(outFile); 利用文件输出流类的方法写二进制文件 out.writeByte(1); //把数据写入二进制文件 数据输出流的关闭 out.close(); 读写二进制文件演示*读写二进制文件演示 …… FileInputStream fis = new FileInputStream("ReadAndWriteBinaryFile.class"); DataInputStream dis = new DataInputStream(fis); FileOutputStream outFile = new FileOutputStream("temp.class"); DataOutputStream out = new DataOutputStream(outFile); int temp; while ( (temp = dis.read()) != -1) { out.write(temp); } fis.close(); out.close(); ……文件随机读取 Random Access Files类*文件随机读取 Random Access Files类1. 创建随机文件: myRAFile = new RandomAccessFile( String name, String mode); myRAFile = new RandomAccessFile( File file, String mode); 例如: new RandomAccessFile("farrago.txt", "r"); new RandomAccessFile("farrago.txt", "rw"); 文件随机读取 Random Access Files类*文件随机读取 Random Access Files类2. 常用方法: 文件对话框*文件对话框1、文件对话框用于完成对文件的使用,读取文件内容,数据保存等操作。 2、通过java.swing包中的类JFileChooser实现打开和保存文件对话框。 文件对话框 JFileChooser类*文件对话框 JFileChooser类1 、构造方法: 2、其它方法: 文件对话框 JFileChooser类*文件对话框 JFileChooser类3、设置筛选条件:即“指定文件类型” 使用FileFilter类
本文档为【第9章输入输出流】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_117578
暂无简介~
格式:ppt
大小:409KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2011-07-14
浏览量:27