Java IO流:

来源:互联网 发布:mac os x dmg制作iso 编辑:程序博客网 时间:2024/05/07 11:21

Java IO流:读出一系列字节的对象:输入流;

写入一系列字节的对象:输出流;

InputStream类:

读取方式:

read;

read(byte []b);

read(byte []b,int off,inr len );  //off:起始偏移,len:字节数

其它方法:

long skip(long n);//在输入流中跳过n个字节

int available();//在流不发生堵塞的情况下,可读取的字节数

Void close();//关闭输入流并释放资源

void mark(int readlimit) ;//在输入流的当前位置放置一个标记,如果读取的字节数多于readlimit设置的值,则流忽略这个标记。

void reset() ;//返回到上一个标记。

boolean markSupported() ;//测试当前流是否支持mark和reset方法。如果支持,返回true,否则返回false。

 

OnputStream类:

写出方式:

write(int b);

write(byte []b);

write(byte []b,int off,inr len );  //off:起始偏移,len:字节数

其它方法:

Void flush();//强制缓冲区的字节被写出

Void close();//关闭输出流并释放资源

 

FileInputStream和FileOutputStream

节点流,用于从文件中读取或往文件中写入字节流。如果在构造FileOutputStream时,文件已经存在,则覆盖这个文件。

 FileOutputStream fs=new FileOutputStream(1.txt)

fs.write(sfkjrgvwkj,fhntlegk.getBytes());//write方法只能写入字节或字节数组,通过字符串的getByte()方法返回一个字节数组

fs.close();

 

FileInputStream fis=new FileInputStream("1.txt");

byte[] buf=new byte[100];

int len=fis.read(buf);

System.out.println(new String(buf,0,len));

fis.close();

 

 

BufferedInputStream和BufferedOutputStream

过滤流,需要使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率。

FileOutputStream fs=new FileOutputStream("1.txt");

BufferedOutputStream bfos=new BufferedOutputStream(fs);

bfos.write("sfkjrgvwkj,fhntlegk".getBytes());

//bfos.flush();

bfos.close();

 

FileInputStream fis=new FileInputStream("1.txt");

BufferedInputStream bfis=new BufferedInputStream(fis);

byte[] buf=new byte[100];

int len=bfis.read(buf);

System.out.println(new String(buf,0,len));

bfis.close();

 

PipedInputStream和PipedOutputStream

管道流,用于线程间的通信。一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。要使管道流有用,必须同时构造管道输入流和管道输出流。

 

 

0 0
原创粉丝点击