- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap08-01IO
第 8 章 输入输出 输入输出流 Stream 输入流代表从外设流入计算机的数据流。 我们可以从输入流读数据 输出流代表从计算机流向外设的数据流。 我们可以向输出流写数据 输入流 数据流 程序 数据流 输出流 8.1 输入输出流 输入输出流 流式输入输出的特点: 每个数据都必须等待排在它前面的数据读入或送出之后才能被读写,每次读写操作处理的都是序列中剩余的未读写数据中的第一个,而不能随意选择输入输出的位置。 字节流和字符流 字节流:在输入输出过程中以字节为单位。 字符流:在输入输出过程中以字符为单位。 j a v a 语 言 6A 61 76 61 D3 EF D1 D4 以字节流的方式读: 读8次,8个字节 以字符流的方式读: 读6次,6个字符 输入 输出 字节流 InputStream OutputStream 字符流 Reader Writer 四个重要的抽象类 字节流的读/写操作 InputStream (抽象类) public abstract int read() public int read(byte b[]) public int read(byte b[], int offset, int length) 无数据读出则返回-1 OutputStream (抽象类) public abstract void write(int b) public void write(byte b[]) public void write(byte b[], int offset, int length) 字符流的读/写操作 Reader (抽象类) public int read() public int read(char cbuf[]) publc abstract int read(char cbuf[], int offset, int length) 无数据读出则返回-1 Writer (抽象类) public void write(int c) public void write(char cbuf[]) public void write(char cbuf[], int offset, int length) 读/写流的一般流程 读(Reading) 打开输入流 读 关闭流 写(Writing) 打开输出流 写 关闭流 标准输入输出 标准输入 标准输入设备通常是键盘, System.in是系统定义的字节输入流对象,用于标准输入 char ch=(char)System.in.read(); import java.io.*; class StdIOExample{ public static void main(String args[]) throws IOException{ byte buffer[] = new byte[8]; String str; int count = System.in.read(buffer); str = new String(buffer); System.out.println(str); } } 标准输入输出 标准输出 标准输出设备通常是屏幕, System.out是系统定义的字节输出流对象,用于标准输出 定义了向屏幕输送不同类型数据的print()和println()方法 System.out.print(“hello”); System.out.print(3/2); System.out.println(Math.PI); 文件输入输出 File类-对文件或目录操作,不负责数据的输入输出。 FileInputStream类-文件字节输入流 FileReader类-文件字符输入流 FileOutputSteam类-文件字节输出流 FileWriter类-文件字符输出流 import java.io.*; class Ftest{ public static void main(String[] args) throws IOException{ FileInputStream f= new FileInputStream(“abc.txt”); int ch; while((ch=f.read())!=-1){ System.out.print((char)ch); } f.close(); } } 打开流 读数据 关闭流 按字节读取,中文成乱码 import java.io.*; class Ftest2{ public static void main(String[] args) th
文档评论(0)