开发者社区> 问答> 正文

java读取网络流的问题:报错

问下大家,java读取网络流出现了问题了,读取流的代码如下:


        /**
	 * 发送HTTP请求
	 * 
	 * @param url
	 *            请求的路径地址
	 * @return JSON字符串s
	 */
	public static String URLCon(String url) {
		String s = null;
		HttpURLConnection con = null;
		try {
			URL urlt = new URL(url);
			con = new HttpURLConnection(urlt, null);
			con.setRequestProperty("Accept", "application/json");
			con.setUseCaches(false);
			con.setRequestProperty("Accept-Charset", "utf-8");
			con.connect();
			InputStream in = (InputStream) con.getContent();
			int count = 0;
			while (count == 0) {
				count = in.available();
			}
			byte[] b = new byte[count];
			int readCount = 0; 
			while (readCount < count) {
				readCount += in.read(b, readCount, count - readCount);
			}
			s = new String(b, "utf-8");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (null != con) {
				con.disconnect();
			}
		}
		return s;
	}
我说下问题,我从window下测试的时候能全部读取进来,但是从Linux服务器上面就只读取了一部分数据,读不全,请问大家有没有遇到过这种问题啊,O(∩_∩)O谢谢了!!!


展开
收起
kun坤 2020-06-06 16:44:20 624 0
1 条回答
写回答
取消 提交回答
  • con.setDoInput(true);

    con.setDoOutput(true);

    试试。

    ######

    引用来自“刘禹星”的答案

    con.setDoInput(true);

    con.setDoOutput(true);

    试试。

    默认就是true吧
    ###### con.getContentLength();######设置下readtimeout,和connectiontimeout
    2020-06-06 16:44:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载