假如FileInputStream 读入文件a,读五次,在内存中,会占用一个a文件大小的空间,还是占用5个文件大小的空间。
解决方案 »
- 本人初学JAVA不久,希望大侠们能提供一些基础题。
- 【新手学java】关于简单的for循环
- 新手请教个循环语句问题,兄弟们请帮忙!
- 怎么在servlet里取得远程主机上的一幅图片?比如sohu网站上的一幅图片??
- 类加载后,对内存和jvm产生什么影响货变化?
- 关于JOptionPane.showOptionDialog的返回值...........
- 请教在Linux8.0下安装JBuilder7企业版的方法?
- 请问有谁用java的sslSocket和sslServerSocket写过程序?
- 中文字符问题,用java连sybase(在线等待。。)
- 用iText生成PDF,如何设置段落Paragraph中的内容的行间距
- 用最短的代码创建这个String???
- 在idea中创建文件夹问题
你没理解流是什么吧?
流只是一个通道,流的数据是存储到你建立的byte数组中的
也就是一般说的缓冲区
读写文件并不是说一次性把文件读到内存的,先找点基础的书看看吧
如果缓冲区是一个则读在多次也只是重复覆盖n次
如果连续调用多次,放到不同的变量中,那就是不同的空间
反正写java的总比我们聪明
文件的内容不一定都在内存里边,如果文件很大,当心MemoryOutFlow!
读入文件A,内存里边关于文件A的内容可以只是一个ByteArray bytes[1024]...
读一点,就写一点吗,一次吃那么多,不太好消化的...
全部读入有必要吗?
如果文件A的大小为xM,不管读几次,内存里边一个byte[1024],足够用了
所以你的问题的答案是:打开多个FileInputStream对象只会占用非常小的空间,但是你将数据读取出来才占用大量空间,至于占用一份还多份,看你自己写的代码决定
我发了另外一个帖子:http://topic.csdn.net/u/20091225/14/ed282276-7646-4a36-86dc-f55d65a5ab79.html