最近研究java socket问题,由前台向后台java发送数据,数据由一行一行数据组成,我想一次性发送整体数据,带有回车换行的那种。目前问题是,在java socket 中,貌似进入到while循环之后,如果不结束不会跳出循环。循环中只能用readline进行对buffer一行一行的读取,在读取中,我想要把数据一次性发给其他方法。如果按目前方式,我只能这样发,print('我'),print(’我是‘),print(’我是大‘),print(’我是大哥‘),这样数据就重复了,不知道怎么一次性发送print(’我是大哥‘)private DevicePos(int port) {
System.out.println(">> Starting SimpleServer");
try {
socket = new ServerSocket(port);
client = socket.accept();
reader = new BufferedReader(new InputStreamReader(client
.getInputStream(), "UTF-8"));
writer = new BufferedWriter(new OutputStreamWriter(client
.getOutputStream(), "UTF-8"));
String readTmp = new String();
String fileReadIn = new String();
while((readTmp = reader.readLine()) != null){
fileReadIn += readTmp + "\r\n"; 我想要一次性完整读出fileReadln
System.out.println(fileReadIn);
}
System.out.print("123");
client.close();
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println(">> Starting SimpleServer");
try {
socket = new ServerSocket(port);
client = socket.accept();
reader = new BufferedReader(new InputStreamReader(client
.getInputStream(), "UTF-8"));
writer = new BufferedWriter(new OutputStreamWriter(client
.getOutputStream(), "UTF-8"));
String readTmp = new String();
String fileReadIn = new String();
while((readTmp = reader.readLine()) != null){
fileReadIn += readTmp + "\r\n"; 我想要一次性完整读出fileReadln
System.out.println(fileReadIn);
}
System.out.print("123");
client.close();
} catch (Exception e) {
e.printStackTrace();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货