gpt4 book ai didi

java - 无法从非空InputStream读取内容

转载 作者:行者123 更新时间:2023-12-02 08:12:01 29 4
gpt4 key购买 nike

我有一段代码可以从非空输入流中读取内容。但是,它在 Eclipse 中工作正常,并在我的计算机中使用 ant 脚本,但在另一台计算机上失败,结果是一个空字符串,我已经检查过,InputStream 不为空。输入流正在读取本地文件,并且该文件不为空。

这是我尝试过的两种不同的方法,它们都返回一个空字符串:

方式一:

StringBuilder aStringBuilder = new StringBuilder();

String strLine = null;

BufferedReader aBufferedReaders = new BufferedReader(new InputStreamReader(anInputStream, "UTF-8"));

while ((strLine = aBufferedReaders.readLine()) != null)
{
aStringBuilder.append(strLine);
}

return aStringBuilder.toString()

方式2:

StringBuffer buffer = new StringBuffer();

byte[] b = new byte[4096];

for (int n; (n = theInputStream.read(b)) != -1;)
{
buffer.append(new String(b, 0, n));
}

String str = buffer.toString();

return str;

提前致谢!

最佳答案

输入流可以为非空,但仍为空 - 如果没有抛出异常但返回空字符串,则输入流为空。您应该首先查看打开输入流的代码 - 从流中读取的代码不是错误的根源,尽管您需要决定要尝试读取的编码并使用它适本地。 (第一个代码对我来说看起来更好,显式使用 UTF-8 并使用 InputStreamReader 进行文本转换。)

关于java - 无法从非空InputStream读取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7227505/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com