public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DataOutputStream oStream = null;
DataInputStream iStream = null;
try {
iStream = new DataInputStream(request.getInputStream());
oStream = new DataOutputStream(response.getOutputStream());
oStream.writeInt(100);
oStream.writeBoolean(false);
oStream.writeLong(12345L);
oStream.writeUTF("Hello world!");
oStream.write("测试字符串".getBytes()); StringBuffer sb = new StringBuffer(); int m;
while((m = iStream.read()) != -1){ //没有进while循环,因为读出来的是-1,怎么样才能让它读出来不为-1呢!!!
sb.append(m);
System.out.println("sb:"+sb);
}
//log4j.fatal("客户端传递数据:[" + sb + "]。服务器接收时间:" + new Date());
new InsertInToDB().save(sb.toString(), new java.util.Date()); } catch (IOException ie) {
ie.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
}
throws ServletException, IOException {
DataOutputStream oStream = null;
DataInputStream iStream = null;
try {
iStream = new DataInputStream(request.getInputStream());
oStream = new DataOutputStream(response.getOutputStream());
oStream.writeInt(100);
oStream.writeBoolean(false);
oStream.writeLong(12345L);
oStream.writeUTF("Hello world!");
oStream.write("测试字符串".getBytes()); StringBuffer sb = new StringBuffer(); int m;
while((m = iStream.read()) != -1){ //没有进while循环,因为读出来的是-1,怎么样才能让它读出来不为-1呢!!!
sb.append(m);
System.out.println("sb:"+sb);
}
//log4j.fatal("客户端传递数据:[" + sb + "]。服务器接收时间:" + new Date());
new InsertInToDB().save(sb.toString(), new java.util.Date()); } catch (IOException ie) {
ie.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
}
public boolean saveFile(InputStream inputStream,String url){
boolean result=true;
BufferedInputStream bin = null;
FileOutputStream fout = null;
BufferedOutputStream bout = null;
try {
bin = new BufferedInputStream(inputStream, 1024);
File file = new File(url);
byte[] buff = new byte[1024];
fout = new FileOutputStream(file);
bout = new BufferedOutputStream(fout, 1024);
int rc = 0;
while ((rc = bin.read(buff, 0, 1024)) > 0) {
bout.write(buff, 0, rc);
}
bout.close();
fout.close();
bin.close();
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
result = false;
try {
inputStream.close();
bin.close();
fout.close();
bout.close();
} catch (Exception ex) {
e.printStackTrace();
}
} finally {
inputStream = null;
bin = null;
fout = null;
bout = null;
System.gc();
}
return result;
}
数据是从客户端传过来的,现在是read读出来的为-1,
兄弟,试下别的行不行,能让数据进while循环就行!!
oStream = new DataOutputStream(response.getOutputStream());
oStream.chinese wholesalers
ugg(100);
oStream.writeBoolean(false);
oStream.writeLong(12345L);
new InsertInToDB().save(sb.toString(), new java.util.Date());
是将它插入数据库!!!!
你试下行不行,分我会给你的
M是INT型,而你读出来(iStream.read())的是INT型的吗?
如果不是的话,那肯定不对
只是随便看看