如何把List<char[]> 数组集合内的中文 通过循环改变成自己想要的顺序再变成字节输出流输出?
时间: 2023-06-26 18:07:10 浏览: 105
可以使用以下代码实现:
```java
import java.io.ByteArrayOutputStream;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<char[]> charList = ...; // 假设已经获得了 char 数组的列表
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
for (char[] chars : charList) {
for (char c : chars) {
if (Character.toString(c).matches("[\u4e00-\u9fa5]")) { // 判断是否为中文字符
// 将中文字符按指定顺序输出
switch (c) {
case '中':
outputStream.write(0x01);
break;
case '文':
outputStream.write(0x02);
break;
// 可以根据需要自行添加其他中文字符的处理逻辑
default:
// 如果有未知的中文字符,可以选择忽略或者抛出异常
break;
}
} else {
// 如果不是中文字符,直接将字符转成字节并输出
outputStream.write((int) c);
}
}
}
byte[] bytes = outputStream.toByteArray();
// 使用字节数组进行后续的操作
...
}
}
```
上述代码中,通过双重循环遍历了 char 数组的列表,对于其中的中文字符,根据需要的顺序进行了转换,并将结果写入了输出流中。最终通过 `toByteArray` 方法将输出流转换为字节数组。需要注意的是,这里只处理了中文字符,其他字符直接转为字节输出。如果需要处理其他字符,需要根据具体情况进行调整。
阅读全文