回复:(lzyren2008)read()的实现
import java.io.*;
class Stream2Test
{
public static void main(String[] args) throws Exception
{
File f0=new File("e:\\javaprogram\\lesson7\\123");
File f1=new File(f0,"1.txt");
f1.createNewFile();
FileOutputStream os=new FileOutputStream(f1);
DataOutputStream dos=new DataOutputStream(os);
String s="abcdefghijk";
dos.writeBytes(s);
FileInputStream is=new FileInputStream(f1);
AddReadWay dis=new AddReadWay(is);
System.out.println(dis.readBytes());
}
}
class AddReadWay extends DataInputStream
{
AddReadWay(InputStream in)
{
super(in);
}
byte[] buf=new byte[100];
String readBytes()
throws Exception{
int i=0;
while(read()!=-1)
{
buf[i++]=(byte)(read());
}
return new String(buf,0,i-1);
/*int len;
len=in.read(buf);
return new String(buf,0,len);*/
}
}
代码如上,因去掉read()重写,故去掉了super。