方法主要有读 read() 返回为 int ,结束时返回"-1",网络上无数据传输时没有数据,进入阻塞状态。
while(is.read()){ 收到后执行 }
close()方法用于通知系统,
flush()将缓冲中的输出。
FileOutputStream 写入字节不会停留在缓冲,在写入字节数组就需要flush();
FileWrite 会使用缓冲 需要flush();
测试结果
********input output*********
test file output stream
*******read write**********
Test read write
代码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
public class TestInputOutput {
public static void main(String[] args) throws Exception{
System.out.println("********input output*********");
File f = new File("TestInputOutput.txt");
FileOutputStream fos = new FileOutputStream(f);
FileInputStream fis = new FileInputStream(f);
fos.write("test file output stream".getBytes());
byte[] b = new byte[1024];
int len = fis.read(b);
String str = new String(b,0,len);
System.out.println(str);
System.out.println("*******read write**********");
File fnext = new File("TestReadWrite");
FileWriter fw = new FileWriter(fnext);
FileReader fr = new FileReader(fnext);
fw.write("Test read write");
fw.flush();
char[] c = new char[1024];
int clen = fr.read(c);
String cstr = new String(c,0,clen);
System.out.println(cstr);
}
}