2、流是有方向的,且都是单向的
代码Demo:
——以FileIn/OutputStream为例:
package cn.hncu.old.stream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /** * 文件内容:青春若有张不老的脸 */ public class FileInOuttStreamDemo { public static void main(String[] args) { // ReadDemo(); WriteDemo(); } public static void WriteDemo(){ try { FileOutputStream out = new FileOutputStream("e:/a/b.txt"); byte buf[] = {32,97,98,99,100,101,13,10}; //byte类型——范围:-128~127 //windows中回车=\r\n Linux中回车=\n; //\r:13 \n:10 空格:32 out.write(buf); String str = "Oracle从入门到精通"; out.write(str.getBytes()); //getBytes()函数,将字符串转化成byte数组 } catch (IOException e) { e.printStackTrace(); } } public static void ReadDemo(){ try { FileInputStream in = new FileInputStream("E:/a/a.txt"); byte buf[] = new byte[512]; int len = in.read(buf);//返回值:读取字节的长度 /* * 注意:由于文件中内容是汉字,所以要考虑编码问题, * 因为系统默认存储编码是gbk,每个汉字两个字节, * 所以len=18,若存储编码为utf-8,则len=30, * 因为utf-8中一个汉字对应的字节长度为1~4个字节不等, * 但大多数是3个字节 */ System.out.println("len="+len); for(int i=0;i<len;i++){ System.out.print(buf[i]+" "); //输出每个字节对应的ASCII码 } } catch (IOException e){ e.printStackTrace(); } } }