将文件流FileInputStream转换为字符流string的步骤

下面有个能成功转换的。我想知道还有其他的方法么?最好转换后能简单讲解一下。或者稍微讲解一下下面这个。谢谢!!1、FileInputStream->InputStreamR... 下面有个能成功转换的。我想知道还有其他的方法么?最好转换后能简单讲解一下。或者稍微讲解一下下面这个。谢谢!!
1、FileInputStream -> InputStreamReader
FileInputStream fInputStream = new FileInputStream(fileName);
InputStreamReader inputStreamReader = new InputStreamReader(fInputStream, code);
2、InputStreamReader -> BufferedReader
BufferedReader in = new BufferedReader(inputStreamReader);
3、BufferedReader -> StringBuffer
StringBuffer sBuffer = new StringBuffer();
sBuffer.append(in.readLine() + "\n");-------这句是什么意思
4、StringBuffer -> String
sBuffer.toString();
展开
 我来答
百度网友12ee0fd
推荐于2016-05-22 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1963万
展开全部
sBuffer.append(in.readLine() + "\n");-------这句是什么意思
将一行的内容添加到sbuffer的末尾,在附加一个换行符

其他方法:nio2的 List<String> lines = Files.readAllLines( path, Charset.defaultCharset())
追问
还有一种方法将文件流FileInputStream转换成byte[]数组FileInputStream.read(byte[] buffer,int byteOffset,int byteCount)函数将数据存储到byte[]数组,再转换成stringString display = EncodingUtils.getString(byte[]data,string charset);这个与上面的有上面区别,就是各有什么优缺点或者应用领域的不同?
追答
一行代码就解决的问题变成多行了。    

java.nio.file.Files也提供了一个 byte[] allbytes = Files.readAllBytes(path)方法,然后 new String(allbytes, Charset.defaultCharset())即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嫑名字可以吗
2015-11-20 · TA获得超过389个赞
知道答主
回答量:90
采纳率:0%
帮助的人:8.1万
展开全部
无法直接转换。但是可以先将FileInputStream转成StringBuffer,再从StringBuffer转到String。
按照以下流程,可以转换成功:
1、FileInputStream -> InputStreamReader
FileInputStream fInputStream = new FileInputStream(fileName);
InputStreamReader inputStreamReader = new InputStreamReader(fInputStream, code);
2、InputStreamReader -> BufferedReader
BufferedReader in = new BufferedReader(inputStreamReader);
3、BufferedReader -> StringBuffer
StringBuffer sBuffer = new StringBuffer();
sBuffer.append(in.readLine() + "\n");
4、StringBuffer -> String
sBuffer.toString();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dong_yuhua
2012-11-27 · 超过11用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:30.4万
展开全部
用包装类啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赤血浪子
推荐于2018-03-13 · 超过26用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:45.6万
展开全部
1、FileInputStream -> InputStreamReader
FileInputStream fInputStream = new FileInputStream(fileName);
InputStreamReader inputStreamReader = new InputStreamReader(fInputStream, code);
InputStreamReader 构造器的使用需要一个InputStream的参数,子类可以赋值给父类使用,所以使用FileInputstream对象代替InputStream对象。
2、InputStreamReader -> BufferedReader
BufferedReader in = new BufferedReader(inputStreamReader);
同上原理:
BufferedReader 构造器的使用需要一个Reader类型的参数,子类可以赋值给父类使用,所以使用InputstreamReader对象代替Reader对象。

3、BufferedReader -> StringBuffer
StringBuffer sBuffer = new StringBuffer();
sBuffer.append(in.readLine() + "\n");-------这句是什么意思
"\n"是一个换行符。表示换行相当于回车键。
4、StringBuffer -> String
sBuffer.toString();
把sBuffer转化为String类型。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式