一个关于I/O的问题 应该不可以,即使多次调用socket.getInputStream()得到的应该都是同一个输入流,除非你使用的是不同的socket. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我自己错了测试,同一个socket流,先用bufferedreader读入String,在用datainputstream读入byte[],没有问题。但是我觉得很不安全,我只是觉得。所以想问一下高人,这样是否会出现什么问题?读入的时候,是否会按顺序截取。 要想按你要求的顺序,就别用bufferedreader,BFR应该是一次读满一个BUFFER……这样当你的DIS读的时候,读到的实际上是读满了BUFFER以后的东西了…… 是同一个输入流,你这样是可以的,可以用不同的方法读同一个输入流。我总是这么做的(只是我没有用过socket.做词法分析的时候我都是这么做的). 我用buffer读行,他不是读到了一行,就不读了么?同一个输入流是不是说,我在后面截取得字节数组也就是从bfr读完后开始的? 你作一下测试不就清楚了?我是这样作的:写一个服务器端和一个客户端,连接上以后,客户端向服务器端传2次字符串,第一个用BFR来读,第二个用DIS来读,最后的情况时,正常情况下,DIS能读到第二个串,但如果BFR读之前给一定的延时,则,DIS读不到任何东西,调试可以看到,第二个串也在BFR里面……具体还需进一步探讨…… 进一步测试发现,如果bfr.readLine()发生在第二个串发送之前,则DIS能读到第二个串,反之则不行…… :)写得很乱的,不好意思贴出来了……最终结论:最好别把BFR和DIS一起用…… faint,我现在需要通过socket读取中文字符以及字节数组,有什么好的办法?(据说,DataInputStream不支持Unicode.)能留下oicq么?讨论讨论?my oicq 3607975. :)谁说DIS不支持Unicode???读中文字符用readChar()不行吗? 继承的问题 hibernate 时间问题 毫秒 如何把Java程序封装成Windws 服务? 如何更改tomcat的主页为我自己的huml页面,在网上查阅的所有方法都失过了 如何给一个panel加上监听! 不能发表帖子,你不能发这么多可用分 请问一下,哪个网站能下栽到java编程思想(第三版)中文版的下载啊? 在Java中如何将UNICODE码转换成GB码 在win2000下,怎么运行图标是记事本的*.java程序?(特急) java jni问题 Java Applet 如何运行? Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")时遇到的问题,谢谢
同一个socket流,
先用bufferedreader读入String,
在用datainputstream读入byte[],
没有问题。
但是我觉得很不安全,我只是觉得。
所以想问一下高人,这样是否会出现什么问题?
读入的时候,是否会按顺序截取。
这样当你的DIS读的时候,读到的实际上是读满了BUFFER以后的东西了……
我总是这么做的(只是我没有用过socket.做词法分析的时候我都是这么做的).
他不是读到了一行,就不读了么?同一个输入流是不是说,我在后面截取得字节数组也就是从bfr读完后开始的?
我现在需要通过socket读取中文字符以及字节数组,有什么好的办法?
(据说,DataInputStream不支持Unicode.)
能留下oicq么?讨论讨论?
my oicq 3607975.