java如何讲文件转化成流再单向生成

java如何讲文件转化成流再单向生成,第1张

基于流(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流会一直存在,直到程序运行结束。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12074130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存