JAVA 读文件一定得创建byte数组????为什么?

 我来答
rong2b
2013-05-08 · TA获得超过173个赞
知道小有建树答主
回答量:216
采纳率:50%
帮助的人:131万
展开全部
看情况吧...
当然你心情好了可以一个字节一个字节的读;
为什么要用byte,其实java读写文件调用的依然是底层操作系统的接口.
在操作系统层面数据时按照块来读的.
申请byte数组的目的是在jvm中开辟一块空间,然后调用jvm操作指令,jvm根据指令告诉操作系统,把这块数据给我填满.操作系统填满之后,java就返回了.

为什么要用byte?因为byte是数据存储的最小单位了.
所以byte[]数组就是一次性读取多少个最小单位,然后返回.

这只是简单的描述,要更详细的了解,建议读java language specification (jls),jls3好像是1.5,1.6的jls7是jdk1.7的.还有就是操作系统原理相关的书.
只能回答这么多了,再深的我也不懂~
帐号已注销
2013-05-08
知道答主
回答量:5
采纳率:0%
帮助的人:3.1万
展开全部

读取文件一般都用二进制吧,而java的FileInputStream也只支持byte[]。

当然,你也可以用BufferedReader来读文本文件,通过readLine来一行一行读,这个函数返回的是String

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("c:\\youfilepath"),"UTF-8"));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捷傲之an
2013-05-08 · 超过12用户采纳过TA的回答
知道答主
回答量:51
采纳率:100%
帮助的人:34.8万
展开全部
不一定,读文件的方法有很多,有字符IO,也有字节数据IO,相对而言通过读字节效率要高一些,但是具体用何种方法读文件,这的视情况而定!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-08
展开全部
按二进制读,就一定要; 按字符串读,可以不用byte[]
追问
如果不按二进制、字符串读呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
as807081564
2013-05-08
知道答主
回答量:3
采纳率:0%
帮助的人:3571
展开全部
因为只能读二进制的串,所以。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式