java是无法之间调用访问硬盘的,是通过系统间接调用访问的
但是如果把源头从文件改成字节数组,java就可以直接访问了.
字节数组数据流:把源头从文件改成字节数组,用Java直接调用数据
package study;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
public class Exercise1 {
/*
* 字节数组输入流
*/
public static void main(String[] args) throws Exception {
//创建源
byte[] src="字节数组输入流".getBytes();//把字符串转成字节数组
//选择流
InputStream i=null;
i=new ByteArrayInputStream(src);
//操作
byte[] s=new byte[8];//缓冲空间
int len=-1;
while((len=i.read(s))!=-1) {
String str=new String(s,0,len);//重新编译
System.out.println(str);
}
//可以不用关闭,因为是个空方法
i.close();
}
}
package study;
import java.io.ByteArrayOutputStream;
public class Exercise2 {
/*
* 字节数组输出流
*/
public static void main(String[] args) throws Exception {
//创建源
byte[] src=null;
//选择流
ByteArrayOutputStream o=null;
o=new ByteArrayOutputStream();
//操作
String s="字符数组数出流";
byte[] b=s.getBytes();
o.write(b, 0, b.length);
o.flush();
src=o.toByteArray();
System.out.println(src.length);
//关闭,可以不关闭,它最后只是一个空方法
o.close();
}
}