(io)数据流的简单总结

          在我们之前所学的一些程序中,无论怎么都是在程序内部完成的,也就是使用计算机的内存中完成,但是当我们关闭程序,即内存也相应的关闭,并不能保存相应的数据,要想永久的储存数据,必须得和外部设备发生交互。

         程序以外的事物均为外部设备,而在和外部设备发生交互的过程中必须借助Serializable 接口建立通道,而我们建立的通道便是流,而流的类型主要有:字节流、字符流、缓存流、转换流等,当外部设备流入程序,便是写入,相应的有InputStream、Read、BufferRead、InputStreamRead等等。相应的程序流入外部设备时其主要方法对应上面,即为In换做Out、Read换成Write。具体见下面例子:

mport java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;


import javax.imageio.stream.FileImageOutputStream;


public class IoStream {
public static void main(String[] args) {
IoStream test = new IoStream();


test.outStream();
test.print();
}


public byte[] inStreamByKeyboard() {
byte[] b = new byte[1024];
try {
systemPrint("请从键盘录入相应的信息:");
System.in.read(b);
systemPrint("录入完成!");
systemPrint("录入的内容为:");
System.out.write(b);


} catch (IOException e) {
systemPrint("惊现错误!");
e.printStackTrace();
}
return b;
}


public void outStream() {
File file = new File("f:\\test.txt");
try {
OutputStream out = new FileOutputStream(file);
out.write(inStreamByKeyboard());
out.flush();
out.close();


} catch (FileNotFoundException e) {


e.printStackTrace();
} catch (IOException e) {


e.printStackTrace();
}
}


public void print() {
File file = new File("f:\\test.txt");
FileInputStream in = null;


try {
in = new FileInputStream(file);
} catch (FileNotFoundException e) {


e.printStackTrace();
}


byte[] b = new byte[1024];
try {
in.read(b);
} catch (IOException e) {


e.printStackTrace();
}
String str = new String(b);


System.out.println(str);


}


public void systemPrint(String iteam) {
System.out.println(iteam);
}
}

你可能感兴趣的:(课堂)