0

我是 JavaEE 的新手,但是是的。当我运行代码时,我的计算机上一切正常,但是当我将它发送到我的服务器时,我的输入没有被读取....所以我猜 openshift 有问题或者是什么导致它不被阅读?

编辑:K,现在发生了一些非常奇怪的事情,它现在也不能在我的电脑上运行。虽然我仍然有相同的代码....

我如何读取数据:

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] buff = new byte[5000];
    int amtRead;
    while ((amtRead = inputStream.read(buff)) != -1)
        bos.write(buff, 0, amtRead);
    inputStream.read(buff);
    data = bos.toByteArray();

我如何发送数据:

    URLConnection urlConnection = url.openConnection();
    urlConnection.setDoOutput(true);
    OutputStream os = urlConnection.getOutputStream();
    os.write(new byte[]{32, 33, 35, 36});
    os.flush();
    os.close();
    System.out.println(getText(urlConnection.getInputStream()));

并且输出什么也没写:

{"out":{"info":"Data wrote: []"}}
4

2 回答 2

2

找出它为什么这样做。

所以在我的代码中是这样的:

@Override
protected final void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    addQuery(req, resp);
    onPost(req, resp);
}

而且由于我调用了一些方法req(例如req.getHeader("X-Forwarded-For"),它似乎正在读取输入流必须提供的所有输入,然后我的真正读者才能读取输入中的内容。

于 2013-05-20T20:16:26.757 回答
0

不要忘记您只能写入 $OPENSHIFT_DATA_DIR(即 ~/app-root/data)或 /tmp。你在哪里写你的文件?

于 2013-05-20T20:01:58.743 回答