社区
Java EE
帖子详情
bufferedReader.read()始终为-1是怎么回事?
z1xian
2018-04-19 10:31:20
在MyEclipse下创建了一个Servlet并通过Tomcat部署,然后在新建的工程里新建了一个本地Java项目,通过这个本地项目访问Servlet服务器,连接是成功的,可是通过bufferedWriter.write()发送任意数据,在Servlet里bufferedReader.read()得到的始终是-1,也就是说明没有得到任何数据,但是用Android同样连接到这个Servlet并且发送数据就能接收到,这是怎么回事呢?
...全文
1196
7
打赏
收藏
bufferedReader.read()始终为-1是怎么回事?
在MyEclipse下创建了一个Servlet并通过Tomcat部署,然后在新建的工程里新建了一个本地Java项目,通过这个本地项目访问Servlet服务器,连接是成功的,可是通过bufferedWriter.write()发送任意数据,在Servlet里bufferedReader.read()得到的始终是-1,也就是说明没有得到任何数据,但是用Android同样连接到这个Servlet并且发送数据就能接收到,这是怎么回事呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
z1xian
2018-04-20
打赏
举报
回复
引用 4 楼 wasd986523 的回复:
你post请求没参数吗,你把服务端的返回也在控制台打印下,绝对是服务端没返回任何数据
再有一个,之前看有人说什么bufferedReader.read()必须读到换行符才停止,于是我把Eclipse中发送的改为String,然后服务器改为readLine,读出来的String就为null,说明服务器确实是啥都没接收到,另外,确实不是输入流或输出流有旧数据的原因,我尝试过先用Android连接、先用本地项目连接、重启服务器后马上连接、重启项目连接等等,得到的结果都是一样的,都是Android的连接毫无问题,但是Eclipse的本地项目的连接接收到的就是为空,快疯了我
z1xian
2018-04-20
打赏
举报
回复
整理了一下
以上图一,Android中的sendCode是9901,服务器成功接收到了9901,并做了相关处理,成功返回9905
以上图二,我的服务器搭在MyEclipse中,然后我在Eclipse中新建了一个项目,代码是Copy过来的,用Eclipse访问MyEclipse中的服务器,结果服务器接收到的始终为-1
服务器的doGet是直接发给doPost,但是我两个部分的连接服务器的代码是一毛一样的呀,为什么Android发送的请求码服务器就能接收到,Eclipse发送的就接收不到呢,崩溃~
z1xian
2018-04-20
打赏
举报
回复
这张图是Android端请求Servlet的部分,连接、发送都是一模一样的,除了第一个发送的请求码,是9902
引用 4 楼 wasd986523 的回复:
你post请求没参数吗,你把服务端的返回也在控制台打印下,绝对是服务端没返回任何数据
这个测试例子里没有服务器返回,我只是想试试服务器能否接收到那个本地项目中发送的“50”,但是这个50都没有发过去呢,另外服务器的返回指的是哪个呢?
阿闰
2018-04-20
打赏
举报
回复
你post请求没参数吗,你把服务端的返回也在控制台打印下,绝对是服务端没返回任何数据
z1xian
2018-04-19
打赏
举报
回复
这是本地项目中请求服务器的代码,可以看到下面输出了getResponseCode()的值也是200,代表连接是成功的,既然连接是成功的,为什么发送数据就接收不到了呢?
z1xian
2018-04-19
打赏
举报
回复
这是Servlet中接收的代码,代码是没有问题的,用Anroid可以正确连接并且传输数据
z1xian
2018-04-19
打赏
举报
回复
下面的控制台输出的requestState就是Servlet端的bufferedReader.read()
Buffered
Read
er
.
read
()
Buffered
Read
er
.
read
()
Buffered
Read
er
read
er=new
Buffered
Read
er
(new InputStream
Read
er(System.in)); System.out.println(
read
er.
read
()); 今天在用这个方法的时候看到返回的类型正好的int,然后直接用来读取int结果导致后面出现了莫名其妙的错误 仔细看了...
java buffered
read
_Java
Buffered
Read
er
read
()方法
Java
Buffered
Read
er
read
()方法java.io.
Buffered
Read
er
.
read
()用于读取单个字符。1 语法public int
read
()2 参数无3 返回值返回一个整数字符。如果已到达流的末尾,则该方法返回-1。4 示例package com.yiidian;/*** 一点教程网: http://www.yiidian.com*//*** java.io.B...
java导入文件用
buffered
Read
er
.
read
Line()读取中文乱码
以下例子,仅供参考: UploadFile file = getFile(); //获取文件 // file = file.getFile() FileInputStream f =new FileInputStream(file.getPath()); InputStream
Read
er
read
er = new InputStream
Read
er( f ,“UTF-8”); //在此转码即可
Buffered
Read
er
buffered
Read
er
= new
Buffered
Read
er
(r
java buffered
read
_java中关于
buffered
read
er
类中
read
方法
java中关于
buffered
read
er
类中
read
方法关注:58答案:2mip版解决时间 2021-01-14 05:40提问者孤城古巷2021-01-13 06:28如下。此时in.
read
();读出的只是一个字符吗?也就是说,这个程序依旧是每次读入一个字符而后将字符输入到c.txt中去?那如何能一次读取多个字符然后一次性输出到c.txt,我知道可以用
read
line方法,除此之外是...
浅谈
Buffered
Read
er
中的
read
()方法和
read
Line()方法
浅谈
Buffered
Read
er
中的
read
方法和
read
Line方法 前言:本人比较菜啦,如果有错误,还请大佬指正。 1.
read
方法 查看API文档我们可以发现
Buffered
Read
er
类中的
read
()方法**[空参数的]**并不是继承于
Read
类中的
read
方法。 这是怎么一回事呢? 首先我们回到
Read
类中的
read
方法简介去看 这里说明了高效单字符输入的子类应该覆盖此方法,答案已经显而易见了,Buffered
Read
中的
read
()方法覆盖了原
Read
中的
read
()方法并提高了效率。
Java EE
67,512
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章