我有字节数组"结果"其中包含
之类的值[0,1,4,5,3,2,6,7,8,9]
我想将其转换为像
这样的字符串0,1,4,5,3,2,6,7,8,9。
我已经采取了以下措施,但它没有工作。
String str = new String(result, "ISO-8859-1"); Used "UTF-8" Character set also.
String str = Arrays.toString(result);
答案 0 :(得分:1)
不是一个很好的解决方案,但这似乎有效:
/**
* @param args
*/
public static void main(String[] args) {
byte[] result = {1,2,3,4,5,6,7,8};
String str;
try {
str = new String (result, "ISO-8859-1" ).trim();
str = Arrays.toString(result).trim();
str = str.replaceAll(" ","");
System.out.println ( "str = ["+str+"]");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// TODO Auto-generated method stub
}
产生输出:
str = [[1,2,3,4,5,6,7,8]]
答案 1 :(得分:0)
由于没有简单的方法可以将byte[]
转换为List<Byte>
以便在String.join()
或流中使用,因此代码会比您更加冗长像:
StringBuilder sb = new StringBuilder();
for (byte b : result)
sb.append((int) b).append(',');
String str = sb.length() == 0 ? "" : sb.substring(0, sb.length() - 1);
答案 2 :(得分:0)
我不明白你是否想要一个字符串或一个字符串数组,但是对于&#34;一个字符串&#34;:
String str = "";
for(byte a : byteArr){
str+=(char)a;
str+=",";
}
应该有效