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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾辉 黑马帝   /  2012-1-13 15:47  /  2060 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

Java io流怎样才能把字符串数组用socket传到server端去? 是传字符串数组。。

5 个回复

倒序浏览
那就传一个字符串,就存储进字符串数组中

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
  1. import java.io.*;
  2. import java.net.*;
  3. public class test3 {


  4.         public static void main(String[] args)throws Exception {
  5.                
  6.                 Socket s = new Socket(InetAddress.getByName("127.0.0.1"),10001);
  7.                 String []s1 = new String [4] ;
  8.                 s1[0] = "123454";
  9.                 s1[1] = "123454";
  10.                 s1[2] = "123454";
  11.                 s1[3] = "123454";
  12.                
  13.                 BufferedWriter  br = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  14.                
  15.                 for(String str :s1){
  16.                         br.write(str);
  17.                 }
  18.         }

  19. }
复制代码
这样传就可以了。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
public void writer(String[] s) {
                File f = new File("./user/zc.txt");
                // FileWriter fw = null;
                // try {
                // fw = new FileWriter(f);
                // } catch (IOException e) {
                // // TODO Auto-generated catch block
                // e.printStackTrace();
                // }
                // BufferedWriter bw = new BufferedWriter(fw);

                PrintWriter pw;
               
                try {
                        // FileWriter fw = new FileWriter(f,true);
                        // BufferedWriter bw = new BufferedWriter(fw);
                       
                        pw = new PrintWriter(f);

                        for (int i = 1; i < s.length; i++) {
                                pw.println(s[i]);
                                System.out.println(s[i]);
                        }

                        // 关闭服务器端Socket
                        bConnected = false;
                       
                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
用BufferedWriter  可以写入char[]数组
接受的时候 直接 ServerSocket st= new ServerSocket(" ")
  Socket client = ss.accept();
  BufferedReader br = new BufferedReader(InputStreamReader(client.getInputStream()));
  char [] c = new char[100];
  br.read(c);
c字符数组就是你从客户端发送来的

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
1、定义服务器端和客户端的数组分段传送协议,比如定义'\0'作为数组分段符,客户端就可以把字符串数组连接成一个字符串传递到服务器,服务器再根据协议分解为字符串数组;
2、使用序列化进行对象流的发送和接收;

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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