仅打印数组元素

时间:2013-08-17 17:57:39

标签: java android arrays

我是Java / Android的新手。我创建了一个这样的数组:

String [] resultArray = new String [lengthFromServ];
                int i = 0;      
                while (i<lengthFromServ) {
                    int result = fromServ.read();
                    char valueOfResult = (char) result;
                    String resultFromServ = Character.toString(valueOfResult);
                    resultArray[i] = resultFromServ;
                    i++;
                }

lengthFromServ在之前声明:( while语句执行4次)

lengthFromServ = 4;

Serwer发给我字符串:“0,12”

当我尝试通过以下方式打印此数组的元素时:

System.out.println(Arrays.toString(resultArray))

我明白了:

[0, ,, 1, 2]

我的问题是:我怎样才能获得此数组的元素?没有"[""]"","?我只想得到这个字符串:

0,12

请帮助,我将不胜感激任何帮助。

2 个答案:

答案 0 :(得分:1)

您正在从服务器上完全错误地阅读。您应该使用BufferedReader或DataInputStream。这些将使您可以轻松阅读:

Socket socket = new Socket(serverHost, serverPort);
DataInputStream dis = new DataInputStream(socket.getInputStream());
int lengthFromServer = 4;
byte resultArray[] = new byte[lengthFromServer];
dis.readFully(result);
String result = new String(resultArray);

或者,如果您的服务器将在内容之后添加换行符,则可以更轻松地执行此操作:

Socket socket = new Socket(serverHost, serverPort);
DataInputStream dis = new DataInputStream(socket.getInputStream());
String result = dis.readLine();

答案 1 :(得分:0)

final String resultArrayString = Arrays.toString(resultArray);
System.out.println(resultArrayString.substring(1, resultArrayString.length()-1).replace(" ", "");

我的回答是基于这样的假设:您的主要目的只是以所需的格式打印出阵列。