将文件流FileInputStream转换为字符流string的步骤
答案:3 悬赏:40
解决时间 2021-01-23 22:15
- 提问者网友:兔牙战士
- 2021-01-23 14:44
将文件流FileInputStream转换为字符流string的步骤
最佳答案
- 二级知识专家网友:行雁书
- 2021-01-23 15:31
sBuffer.append(in.readLine() + "\n");-------这句是什么意思
将一行的内容添加到sbuffer的末尾,在附加一个换行符
其他方法:nio2的 List 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())即可。
将一行的内容添加到sbuffer的末尾,在附加一个换行符
其他方法:nio2的 List
追问:还有一种方法将文件流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())即可。
全部回答
- 1楼网友:逃夭
- 2021-01-23 17:12
无法直接转换。但是可以先将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();
按照以下流程,可以转换成功:
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();
- 2楼网友:独钓一江月
- 2021-01-23 16:11
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类型。
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类型。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯