java中,DataInputStream和 FileInputStream有什么区别和联系?怎么转换?

DataInputStreaminput=newDataInputStream(newBufferedInputStream(newFileInputStream("Da... DataInputStream input=new DataInputStream(new BufferedInputStream(new FileInputStream("Data.txt")));

可以简写为
DataInputStream =new DataInputStream(new fileInputStream("dataout.txt"));
吗?
展开
 我来答
匿名用户
推荐于2018-02-27
展开全部
  1. 不可以简写,要有编码规范。

  2. DataInputStream是数据输入流,读取的是java的基本数据类型。

  3. FileInputStream是从文件系统中,读取的单位是字节。

追问
“读取的是java的基本数据类型” 
“读取的单位是字节”
可以具体讲讲么,不是很明白\(^o^)/~
追答
java的基本数据类型,整型 浮点型 布尔型这些东西都可以识别,但是对文件就不可以。
读取的单位是字节,是因为他面向的是文件,它不管他要读取的东西是什么数据类型,统统以之为文件的形式,然后按照字节为单位,一个字节一个字节的读取。
所以,你再细想一下,如果要读取的文件是数据类型,可以把它当作文件来读取,但是如果文件不是数据类型,就不能把数据类型当作文件来读取。再通俗点儿说,可以把西瓜当成水果,但是水果并不是西瓜。我能吃水果,就一定能吃西瓜,但是,如果我只能吃西瓜,却不一定能吃水果,这是集合论中的一点儿思想,你细心体会一下下哦。。。
InspireSoul
2013-08-08
知道答主
回答量:15
采纳率:0%
帮助的人:6.8万
展开全部
DataInputStream(简称Data)和FileInputStream(简称File)两者都是inputStream的子类,但是他们的父类不同,Data的父类是FilterInputStream,而File的父类是inputStream,形象一点也就是说,Data的爷爷才是File的爸爸,File中的方法针对读取文件,并把文件的字符内容以数据流的形式读取到内存中便于进行进一步处理,这个过程中涉及到流的封装,例如:DataInputStream in = new DataInputStream(new FileInputStream( "Java2s.txt"));使用File来加载一个文件,然后使用Data对File进行封装。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
零点micle
2013-08-08
知道答主
回答量:29
采纳率:0%
帮助的人:18.1万
展开全部
都是输入流,正确的写法:
DataInputStream dis = new DataInputStream( new FileInputStream("Data.txt")).
你可以看下jdk api,里面写的很详细
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
改承天2A
2013-08-08 · TA获得超过135个赞
知道答主
回答量:100
采纳率:0%
帮助的人:83.8万
展开全部
DataInputStream继承(extends)FileInputStream implements DataInput,从FileInputStream中继承了in字段;
FilterInputStream 继承InputStream类 FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream 类本身只是简单地重写那些将所有请求传递给所包含输入流的 InputStream 的所有方法。
DataInputStream 继承FilterInputStream类 DataInputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。
InputStream 此抽象类是表示字节输入流的所有类的超类。DataInputStream =new DataInputStream(new fileInputStream("dataout.txt"));不会出现编译问题,但是建议不要简写。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式