基于流(Stream)的解决
流是单向的有方向性的描述信息流的对象,InputStream是输入流的接口,对程序来说是入,是读,可以从文件读,缓存区读,网络节点读等等.
写入文件,对程序来说是出,是写,就是FileOutputStream,可以写入int也可以byte[]
所以解决方案就是从InputStream中读出内存到byte[]中然后,使用FileOutputStream写入文件中.比如:其中一种写法
InputStream is = new FileInputStream("a.txt")
FileOutputStream fos = new FileOutputStream("b.txt")
byte[] b = new byte[1024]
while((is.read(b)) != -1){
fos.write(b)
}
is.close()
fos.close()
直接去看API文档啊。。。一般有 File, FileInputStream, FileReader, RandomAccessFile, BufferedReader, BufferedInputStream等,这些流一般都是配合使用的。。具体你还是自己去IO和NIO包下去看看吧。。。
可以通过BufferedReader 流的形式进行流缓存,之后通过read(字节流)方法获取到缓存的内容。BufferedReader bre = null
try {
String file = "D:/test/test.txt"
bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流
byte[] b = new byte[1024]
int len = 0
while((len=bre .read(b))!=-1){//判断是不是到最后一个字节
System.out.println(new String(b,0,len))//输出二进制内容
}
bre.close()//关闭流
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)