您的位置:首页 > 编程语言 > Java开发

【基础篇】java中输入输出的总括——字节流

2008-04-19 01:40 344 查看
不想把别人的东西占为己有,但是想方便日后参考还是摘录了。

烦死了,看Java编程思想三或者四,感觉老外写书跟我们看书的习惯都不一样的,总感觉老外写的东西就像是在写手册,全面但是烦琐。

【原则】不要告诉我历史,告诉我怎么做就行了。

【事实】输出输入类,就是TMD的简单,为什么非要弄成手册,让我这个菜鸟看不懂

【鸣谢】中国IT实验室的总结篇

——————————————————————————————————————————————————————————

字节流

InputStream 和OutputStream
 read():从流中读入数据
 skip():跳过流中若干字节数
 available():返回流中可用字节数
 mark():在流中标记一个位置
 reset():返回标记过得位置
 markSupport():是否支持标记和复位操作
 close():关闭流
 int read()
从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。
 int read(byte b[])
读多个字节到数组中。
 int read(byte b[], int off, int len)
 write(int b)
将一个整数输出到流中(只输出低位字节,抽象)
 write(byte b[])
将字节数组中的数据输出到流中
 write(byte b[], int off, int len)
将数组b中从off指定的位置开始,长度为len的数据输出到流中
 flush():刷空输出流,并将缓冲区中的数据强制送出
 close():关闭流
从输入流中读取长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。
进行I/O操作时可能会产生I/O例外,属于非运行时例外,应该在程序中处理。如:型FileNotFoundException, EOFException, IOException
例 8.2 打开文件。
本例以FileInputStream的read(buffer)方法,每次从源程序文件OpenFile.java中读取512个字节,存储在缓冲区buffer中,再将以buffer中的值构造的字符串new String(buffer)显示在屏幕上。程序如下:
import java.io.*;
public class OpenFile
{
public static void main(String args[]) throws IOException
{
try
{ //创建文件输入流对象
FileInputStream rf = new FileInputStream("OpenFile.java");
int n=512;
byte buffer[] = new byte
;
while ((rf.read(buffer,0,n)!=-1) && (n>0)) //读取输入流
{
System.out.print(new String(buffer));
}
System.out.println();
rf.close(); //关闭输入流
}
catch (IOException ioe)
{
System.out.println(ioe);
}
catch (Exception e)
{
System.out.println(e);
}
}
}
例 8.3 写入文件。
本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,再以FileOutStream的write(buffer)方法,将buffer中内容写入文件Write1.txt中,程序如下:
import java.io.*;
public class Write1
{
public static void main(String args[])
{
try
{
System.out.print("Input: ");
int count,n=512;
byte buffer[] = new byte
;
count = System.in.read(buffer); //读取标准输入流
FileOutputStream wf = new FileOutputStream("Write1.txt");
//创建文件输出流对象
wf.write(buffer,0,count); //写入输出流
wf.close(); //关闭输出流
System.out.println("Save to Write1.txt!");
}
catch (IOException ioe)
{
System.out.println(ioe);
}
catch (Exception e)
{
System.out.println(e);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: