java字节输入流读取数据的过程是怎么样的

如:FileInputStreamfis=newFileInputStream("D:\\1.txt");//1.txt里面的是1111inta=fis.read();S... 如:FileInputStream fis=new FileInputStream("D:\\1.txt");//1.txt里面的是1111
int a=fis.read();
System.out.println(a);//输出49
1111转换成49的过程是怎么样的啦 看回答给分 谢谢帮忙
展开
 我来答
百度网友0f39ceb
推荐于2016-06-25 · TA获得超过781个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:456万
展开全部
FileInputStream类的:int read() 从此输入流中读取一个数据字节
文件1.txt中的每个“1”为一个字符对应一个字节,则读取的是字符'1',其对应的int型为49,则输出为49
要想输出1.txt中的内容,可参考以下程序:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

/**
*
* @author top
*/
public class Fin {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
// TODO code application logic here
FileInputStream fis = new FileInputStream("D:/1.txt");
InputStreamReader ir = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(ir);
String s;
while ((s=br.readLine())!=null) {
System.out.println(s);
s=br.readLine();
}
}
}
ant1007
2010-09-27 · TA获得超过209个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:167万
展开全部
fis.read()的返回值是读的位移,即第一次读到了位移49。

要想输出1111,代码修改如下:
byte[] b = new byte[1024];
int a = fis.read(b,0,1024);

if(a > 0) {
System.out.println(b);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式