社区
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并且发送数据就能接收到,这是怎么回事呢?
...全文
1227
7
打赏
收藏
bufferedReader.read()始终为-1是怎么回事?
在MyEclipse下创建了一个Servlet并通过Tomcat部署,然后在新建的工程里新建了一个本地Java项目,通过这个本地项目访问Servlet服务器,连接是成功的,可是通过bufferedWriter.write()发送任意数据,在Servlet里bufferedReader.read()得到的始终是-1,也就是说明没有得到任何数据,但是用Android同样连接到这个Servlet并且发送数据就能接收到,这是怎么回事呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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()
Android读取文本文件的demo
一个Android读取文本文件的demo,txt文件放到res/raw文件夹下,通过代码将其读取并显示在屏幕上。
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.io.
Buffered
Read
er
.
read
(char[] cbuf, int off, int len)方法实例
java.io.
Buffered
Read
er
.
read
(char[] cbuf, int off, int len)方法读取len个字符到一个具体确定的数组,从偏移量off开始。此方法通过多次调用底层流的
read
方法读取字符。 更多教程请访问http://www.manongzj.com 该方法停止读取,如果执行下列操作之一为true。 流的字符指定数量已读。 如果已经达到文件的结束。
read
y方法返回false。 声明 以下是java.io.
Buffered
Read
er
.
read
(cha..
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 IO及
Buffered
Read
er
.
read
line()的Bug
文章目录IO流
Buffered
Read
er
.
read
line()方法Bug源码 IO流 流 : 流是一组有序的,有起点和终点的字节集合,是对计算机中数据传输的总称。即数据在两个设备间的传输称为流,流的本质是数据传输。 Java-IO流
Buffered
Read
er
.
read
line()方法Bug 错误代码: File testTxt = new File("/Users/LiuShihao/IdeaProjects/netty_demo/src/main/resources/test.txt");
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章