我編程是對一個JSP採取從表單輸入,然後使用JSON將數據傳遞到一個servlet一個簡單的AJAX應用一個BufferedReader整個字符流。在servlet中,我有以下的快速和骯髒的代碼:閱讀在Java
char[] charBuffer = new char[500];
String[] names;
String[] values = new String[20];
int amountRead;
JSONObject jsonObject1;
JSONObject jsonObject2;
PrintWriter out = response.getWriter();
BufferedReader in = request.getReader();
amountRead = in.read(charBuffer);
charBuffer[amountRead]='\0';
String invalue = new String(charBuffer, 0, amountRead);
這是所有然後是try
塊做一些事情與JSON對象。基本上,作爲一個練習,我試圖通過相同的表格數據來回並顯示它。
問題出在這裏:在這個快速而骯髒的代碼當然不能保證你從請求中得到完整的消息。明知的BufferedReader
的read()
方法將返回-1,如果流的末尾已到達,我試着做如下補充:
while(in.read() != -1) {
amountRead = in.read(charBuffer);
}
一旦我實現了這一點,但是,我的輸出是空白。我什麼都沒得到。即使試圖通過它與調試步驟後,我不能完全肯定爲什麼while
循環沒有達到預期效果。
我敢肯定這件事情簡單的和愚蠢的。有人能夠指出我的方式錯誤嗎?一如既往,先謝謝你。
謝謝你的幫助,EJP。正是我在尋找的答案。 – 2013-02-12 12:56:16