A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

比如
ServerSocket ss = new ServerSocket(11111);

Socket s = ss.accept();

OutputStream out = s.getOutputStream();

能不能把OutputStream 通过转换流换成 字符流读取流?
如果只发送文本数据的话能不能直接发送字符流给服务端呢?

3 个回复

倒序浏览
本帖最后由 Forever。 于 2012-7-1 22:01 编辑

楼主看我写的代码应该是你想要的这是一个方法的一部分:
BufferedReader br = null;
                PrintWriter pw = null;
                try {
                        System.out.println("服务器开启");
                        //进入等待连接状态
                        ServerSocket ss = new ServerSocket(10003);
                        System.out.println("等待连接");
                        //接受连接得到一个socket对象
                        Socket s =  ss.accept();
                        br = new BufferedReader(new InputStreamReader(s.getInputStream()));在这里包装一下就行了
                        //首先得到文件的名字
                        String name = br.readLine();
                        //然后将名字给了新建的文件
                        pw = new PrintWriter(new FileWriter(name));
                        //开始接受文件内容
                        char[] c = new char[1024];
                        int len = 0;
                        while((len = br.read(c))!=-1)
                        {
                                pw.write(c, 0, len);
                        }
                        pw.flush();
                        System.out.println("文件接收完成!");
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                finally{
                        try {
                                pw.close();
                                br.close();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }


评分

参与人数 1技术分 +1 收起 理由
刘蕴学 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 赵志勇 于 2012-7-2 00:00 编辑

ServerSocket ss = new ServerSocket(11111);

Socket s = ss.accept();

OutputStream out = s.getOutputStream();

能不能把OutputStream 通过转换流换成 字符流读取流?//可以转化成字符流。
如果只发送文本数据的话能不能直接发送字符流给服务端呢?//[不可以,因为网络传输过程中的最底层是传输的二进制代码,无论是字符还是图片文件都要转换成二进制代码通过网络协议来封装来发送!网络中传输的物理层传输的就是二进制,所以只能用Stream流来传送,接收的最开始也是字节流

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马