- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OutputStream 和 InputStream 分别为java 中 IO 包整个字节输入/输出流的的主类:
public abstract class InputStream extends Object
implements Closeable
此抽象类是表示字节输入流的所有类的超类。
需要定义 InputStream 子类的应用程序必须总是提供返回下一个输入字节的方法。
public abstract class OutputStream extends Object
implements Closeable, Flushable
此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。
需要定义 OutputStream 子类的应用程序必须始终提供至少一种可写入一个输出字节的方
法。
由上可见,这两个类均为抽象类,必须利用其子类进行实例化。这里,以操作文件为例,对文件进行字节流的IO,所以只需要使用FileOutputStream 和FileInputStream 两个子类即可:
public class FileInputStream
extends InputStream
FileInputStream 从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。
FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使
用 FileReader。
public class FileOutputStream extends OutputStream
文件输出流是用于将数据写入File 或 FileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个FileOutputStream(或其
他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑
使用 FileWriter。操作范例:
1,观察这两个子类的的构造方法可知,进行实例化是需要先进行文件的读取:
[java] view plaincopy
1.
1. File f = new File(F:+File.separator+temple.txt);
然后再进行实例化:[java]
然后再进行实例化:
[java] view plaincopy
1. OutputStream out = new FileOutputStream(f);InputStream in = new FileIn putStream(f);
这里,有一点需要注意的是: 两种构造方法的区别:FileOutputStream(File file)
其中,用前者进行文件的字节流写入时,不会自动在文件已有内容上进行增加,也就是覆盖文件上一次的内容,而后者则会在文件已有内容上进行增加,不会覆盖以前的内容,比如文件中原始内容为:Sugite
其中,用前者进行文件的字节流写入时,不会自动在文件已有内容上进行增加,也就
是覆盖文件上一次的内容,而后者则会在文件已有内容上进行增加,不会覆盖以前的内容,
比如文件中原始内容为:Sugite ,现在需要写入 good
后者则会变为:Sugitegood。
用前者,内容则会变为:good
用
2,对文件进行写入时,常用两个方法为 voidwrite(byte[] b) 和 voidwrite(byte[]
b, int off, int len)
这里以写入“Hello Java!”为例:
由于是以字节形式写入,所以需要先将String 对象转为 byte 对象:
[java] view plaincopy
1.
1. String name=Hello Java!;byte b[] = name.getBytes();
其中,voidwrite(byte[] b) 和 voidwrite(byte[] b, int off, int len)的区别在于:前者是将 b 中所有内容写入文件中,而后者则将 b 中从 off 位置开始的长度为 len 的字节写入文件中:
out.write(b);
out.write(b);的结果是:Hello Java!
out.write(b,1,8);的结果则是:ello Jav
3,若要在写入时进行换行,则需要用\r\n进行此操作
比如:
[java] view plaincopy
1. String name=\r\nHello Java!
1. String name=\r\nHello Java!;
这里需要注意的是:\r\n 将会占用两个字节
您可能关注的文档
- Intel处理器封装全识别.docx
- GPS Tutorial – Garmin Etre Legend 分析和总结总结.docx
- Intent和PendingIntent的区别分析和总结.docx
- International Human Resource Management Eam Paper分析和总结分析和总结.docx
- Internet Eplorer 快捷键分析和总结.docx
- internet分析和总结分析和总结.docx
- Internet技术作业题答案.docx
- Intouch报表_ECEL报表制作.docx
- IntuiKey 系列键盘说明书.docx
- iometer已分析和总结.docx
原创力文档


文档评论(0)