收藏 分享(赏)

Java开发中输入输出总结.docx

上传人:hwpkd79526 文档编号:8098700 上传时间:2019-06-08 格式:DOCX 页数:7 大小:73.69KB
下载 相关 举报
Java开发中输入输出总结.docx_第1页
第1页 / 共7页
Java开发中输入输出总结.docx_第2页
第2页 / 共7页
Java开发中输入输出总结.docx_第3页
第3页 / 共7页
Java开发中输入输出总结.docx_第4页
第4页 / 共7页
Java开发中输入输出总结.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 Java 开发中输入输出总结一、数据流的基本概念流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。java的标准数据流:标准输入输出指在字符方式下(如DOS) ,程序与系统进行交互的方式,分为三种:标准输入studin,对象是键盘。标准输出stdout,对象是屏幕。标准错误输出stderr,对象也是屏幕。二、java.io包中的数据流和文件类字节流:从InputStream和OutputStre

2、am派生出来的一系列类。这流以字节(byte)为基本处理单位。InputStream、OutputStreamFileInputStream、FileOutputStreamPipedInputStream、PipedOutputStreamByteArrayInputStream、ByteArrayOutputStreamFilterInputStream、FilterOutputStreamDataInputStream、DataOutputStreamBufferedInputStream、BufferedOutputStream字符流:从Reader和Writer派生出的一系列类,这类

3、流以16位的Unicode码表示的字符为基本处理单位。Reader、WriterInputStreamReader、OutputStreamWriterFileReader、FileWriterCharArrayReader、CharArrayWPipedReader、PipedWriterFilterReader、FilterWriterBufferedReader、BufferedWriterStringReader、StringWriter三、字节流方法InputStream 和OutputStreamread():从流中读入数据skip():跳过流中若干字节数available():返

4、回流中可用字节数mark():在流中标记一个位置reset():返回标记过得位置markSupport():是否支持标记和复位操作close():关闭流int read() :从输入流中读一个字节,形成一个0255之间的整数返回(是一个抽象方法) 。int read(byte b) :读多个字节到数组中。int read(byte b, int off, int len):从输入流中读取长度为 len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。write(int b) :将一个整数输出到流中(只输出低位字节,抽象)write(byte b) :将字节数组中的数据输出到流中w

5、rite(byte b, int off, int len) :将数组b中从 off指定的位置开始,长度为len的数据输出到流中flush():刷空输出流,并将缓冲区中的数据强制送出close():关闭流注:进行I/O操作时可能会产生I/O例外,属于非运行时例外,应该在程序中处理。如:型FileNotFoundException, EOFException, IOE四、文件操作类的方法File类File类声明如下:public class File ectends Object implements Serializable,Comparable构造方法:public File(String

6、pathname)public File(File patent,String child)public File(String patent,String child)文件名的处理String getName( ); /得到一个文件的名称(不包括路径)String getPath( ); /得到一个文件的路径名String getAbsolutePath( );/得到一个文件的绝对路径名String getParent( ); /得到一个文件的上一级目录名String renameTo(File newName); /将当前文件名更名为给定文件的完整路径文件属性测试boolean exist

7、s( ); /测试当前File对象所指示的文件是否存在boolean canWrite( );/测试当前文件是否可写boolean canRead( );/测试当前文件是否可读boolean isFile( ); /测试当前文件是否是文件(不是目录)boolean isDirectory( ); /测试当前文件是否是目录普通文件信息和工具long lastModified( );/得到文件最近一次修改的时间long length( ); /得到文件的长度,以字节为单位boolean delete( ); /删除当前文件目录操作boolean mkdir( ); /根据当前对象生成一个由该对象指

8、定的路径String list( ); /列出当前目录下的文件文件过滤器类FilterInputStream和FilterOutputStream分别对其他输入/输出流进行特殊处理,它们在读/写数据的同时可以对数据进行特殊处理。另外还提供了同步机制,使得某一时刻只有一个线程可以访问一个输入/输出流。类FilterInputStream和FilterOutputStream分别重写了父类InputStream和OutputStream的所有方法,同时,它们的子类也应该重写它们的方法以满足特定的需要要使用过滤流,首先必须把它连接到某个输入/输出流上,通常在构造方法的参数中指定所要连接的流:Filt

9、erInputStream(InputStream in);FilterOutputStream(OutputStream out);注:这两个类是抽象类,构造方法也是保护方法类BufferedInputStream和BufferedOutputStream实现了带缓冲的过滤流,它提供了缓冲机制,把任意的I/O流“捆绑”到缓冲流上,可以提高读写效率在初始化时,除了要指定所连接的I/O流之外,还可以指定缓冲区的大小。缺省大小的缓冲区适合于通常的情形;最优的缓冲区大小常依赖于主机操作系统、可使用的内存空间以及机器的配置等;一般缓冲区的大小为内存页或磁盘块等地整数倍,如8912字节或更小。Buffe

10、redInputStream(InputStream in, int size)BufferedOutputStream(OutputStream out, int size)文件对话框随机文件操作于InputStream 和OutputStream 来说,它们的实例都是顺序访问流,也就是说,只能对文件进行顺序地读/写。随机访问文件则允许对文件内容进行随机读/写。在java中,类 RandomAccessFile 提供了随机访问文件的方法。类RandomAccessFile的声明为:public class RandomAccessFile extends Object implements

11、DataInput, DataOutputFile:以文件路径名的形式代表一个文件FileDescriptor:代表一个打开文件的文件描述FileFilter & FilenameFilter:用于列出满足条件的文件File.list(FilenameFilter fnf)File.listFiles(FileFilter ff)FileDialog.setFilenameFilter(FilenameFilter fnf)FileInputStream & FileReader:顺序读文件FileOutputStream & FileWriter:顺序写文件RandomAccessFile:

12、提供对文件的随机访问支持类RandomAccessFile则允许对文件内容同时完成读和写操作,它直接继承Object,并且同时实现了接口DataInput和DataOutput,提供了支持随机文件操作的方法DataInput和DataOutput中的方法readInt(), writeDouble()int skipBytes(int n):将指针乡下移动若干字节length():返回文件长度long getFilePointer():返回指针当前位置void seek(long pos):将指针调到所需位置void setLength(long newLength):设定文件长度构造方法:R

13、andomAccessFile(File file, String mode)RandomAccessFile(String name, String mode)mode 的取值“r” 只读. 任何写操作都将抛出IOException。“rw” 读写. 文件不存在时会创建该文件,文件存在时,原文件内容不变,通过写操作改变文件内容。“rws” 同步读写. 等同于读写,但是任何协操作的内容都被直接写入物理文件,包括文件内容和文件属性。“rwd” 数据同步读写. 等同于读写,但任何内容写操作都直接写到物理文件,对文件属性内容的修改不是这样。五、字符流的方法Reader类和Writer类在JDK1.1

14、之前,java.io包中的流只有普通的字节流(以byte为基本处理单位的流) ,这种流对于以16位的Unicode码表示的字符流处理很不方便。从JDK1.1开始, java.io包中加入了专门用于字符流处理的类,它们是以Reader和Writer为基础派生的一系列类同类InputStream和OutputStream一样,Reader和Writer也是抽象类,只提供了一系列用于字符流处理的接口。它们的方法与类InputStream和OutputStream类似,只不过其中的参数换成字符或字符数组Reader类void close()void mark(int readAheadLimit)bo

15、olean markSupported() :int read()int read(char cbuf)int read(char cbuf, int off, int len)boolean ready()void reset()long skip(long n)Writer类void close()void flush()void write(char cbuf)void write(char cbuf, int off, int len)void write(int c)void write(String str)void write(String str, int off, int len)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报