讨论JAVA的输入,输出流的分类,应用 讨论JAVA的输入,输出流的分类,应用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 流文件可以是各种格式的文件,如mp3格式、rm格式、doc格式的文件。流文件读入和写出类有FileInputStream、FileOutputStream类。下面是其继承关系:java.lang.Object | +--java.io.InputStream | +--java.io.FileInputStreamjava.lang.Object | +--java.io.OutputStream | +--java.io.FileOutputStream在Java中,我们把能够读取一个字节序列的对象称作一个输入流;而我们把能够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。1.InputStream ◇ 从流中读取数据: int read( ); //读取一个字节,返回值为所读的字节 int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常 //读取的字节数量为b的长度,返回值为实际 //读取的字节的数量 int read( byte b[ ], int off, int len ); //读取len个字节,放置 //到以下标off开始字节 //数组b中,返回值为实 //际读取的字节的数量 int available( ); //返回值为流中尚未读取的字节的数量 long skip( long n ); //读指针跳过n个字节不读,返回值为实际 //跳过的字节数量 ◇ 关闭流: close( ); //流操作完毕后必须关闭 ◇ 使用输入流中的标记: void ( int readlimit ); //记录当前读指针所在位置,readlimit //表示读指针读出readlimit个字节后 //所标记的指针位置才失效 void reset( ); //把读指针重新指向用方法所记录的位置 boolean Supported( ); //当前的流是否支持读指针的记录功能有关每个方法的使用,详见java API。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~public abstract read()throws IOException 读取一个字节并返回该字节,如果到输入源的末则返回-1。一个具体的输入流类需要重载此方法,以提供有用的功能。例如:在FileInputStream类中,该方法从一个文件读取一个字节。 public int read(byte[] b)throws IOException 把数据读入到一个字节数据中,并返回实际读取的字节数目。如果遇到流末 则返回-1,该方法最多读取b.length个字节。 public abstract int read(byte[] b,int off,int len)throws IOException 把数据读入到一个字节数组中并返回实际读取的字节数目。如果遇到流的末尾则的返回-1。 其中参数off表示第一个字节在b中的位置,len表示读取的最大字节数。 public long skip(long n)throws IOException 略过N个字节不读取,会返回实际略过的字节数目。因为数据流中剩下的数据可能不到N 个字节那么多,所以此时返回值会小于N。 public int available()throws IOException read方法(包括后面要讲的OutputStream类的Write方法)都能够阴塞一个线程,直到字节被 实际读取或写入。这意味着如果一个流不能立即被读或被写 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.OutputStream ◇ 输出数据: void write( int b ); //往流中写一个字节b void write( byte b[ ] ); //往流中写一个字节数组b void write( byte b[ ], int off, int len ); //把字节数组b中从 //下标off开始,长度为len的字节写入流中 ◇ flush( ) //刷空输出流,并输出所有被缓存的字节 由于某些流支持缓存功能,该方法将把缓存中所有内容强制输出到流中。 ◇ 关闭流: close( ); //流操作完毕后必须关闭 SWING 关于按钮事件 调用方法传递参数 C++的多线程机制与JAVA有区别吗? 麻烦帮调试一下 JAVA中登陆界面三次登陆失败后 求阎宏的“JAVA与模式”,最好是chm或pdf格式的,pdg看着不爽 自动登陆VPN的java程序怎么写? 【转载】java编程初学者,浅谈java学习经验 请教如何将图片显示到一个JPane上的问题? 如何才能使窗体里面的组件随窗体放大缩小自动调整,始终保持其相对位置 再tomcat中,我的.properties文件应该放在什么位置? JAVA下如何判断一个数是不是整数? 一个高难度字符串的算法,高手才进。
流文件读入和写出类有FileInputStream、FileOutputStream类。下面是其继承关系:
java.lang.Object
|
+--java.io.InputStream
|
+--java.io.FileInputStreamjava.lang.Object
|
+--java.io.OutputStream
|
+--java.io.FileOutputStream
在Java中,我们把能够读取一个字节序列的对象称作一个输入流;而我们把能够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。
1.InputStream ◇ 从流中读取数据:
int read( ); //读取一个字节,返回值为所读的字节
int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常
//读取的字节数量为b的长度,返回值为实际
//读取的字节的数量
int read( byte b[ ], int off, int len ); //读取len个字节,放置
//到以下标off开始字节
//数组b中,返回值为实
//际读取的字节的数量
int available( ); //返回值为流中尚未读取的字节的数量
long skip( long n ); //读指针跳过n个字节不读,返回值为实际
//跳过的字节数量 ◇ 关闭流:
close( ); //流操作完毕后必须关闭
◇ 使用输入流中的标记:
void ( int readlimit ); //记录当前读指针所在位置,readlimit
//表示读指针读出readlimit个字节后
//所标记的指针位置才失效
void reset( ); //把读指针重新指向用方法所记录的位置
boolean Supported( ); //当前的流是否支持读指针的记录功能有关每个方法的使用,详见java API。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public abstract read()throws IOException
读取一个字节并返回该字节,如果到输入源的末则返回-1。一个具体的输入流类需要重载此方法,以提供有用的功能。例如:在FileInputStream类中,该方法从一个文件读取一个字节。
public int read(byte[] b)throws IOException
把数据读入到一个字节数据中,并返回实际读取的字节数目。如果遇到流末 则返回-1,该方法最多读取b.length个字节。
public abstract int read(byte[] b,int off,int len)throws IOException
把数据读入到一个字节数组中并返回实际读取的字节数目。如果遇到流的末尾则的返回-1。 其中参数off表示第一个字节在b中的位置,len表示读取的最大字节数。
public long skip(long n)throws IOException
略过N个字节不读取,会返回实际略过的字节数目。因为数据流中剩下的数据可能不到N 个字节那么多,所以此时返回值会小于N。
public int available()throws IOException
read方法(包括后面要讲的OutputStream类的Write方法)都能够阴塞一个线程,直到字节被 实际读取或写入。这意味着如果一个流不能立即被读或被写
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.OutputStream ◇ 输出数据:
void write( int b ); //往流中写一个字节b
void write( byte b[ ] ); //往流中写一个字节数组b
void write( byte b[ ], int off, int len ); //把字节数组b中从
//下标off开始,长度为len的字节写入流中 ◇ flush( ) //刷空输出流,并输出所有被缓存的字节
由于某些流支持缓存功能,该方法将把缓存中所有内容强制输出到流中。 ◇ 关闭流:
close( ); //流操作完毕后必须关闭