Java中如何创建指定大小字节数的字符串

Java中如何创建指定大小字节数的字符串


如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢
更多
0
分享到:

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
回复次数:14

qybao
    关注
    qybao
    qybao
    本版等级:T9
    Blank Blank

    
#1 得分:0 回复于: 2011-08-25 16:17:42
这个没法控制,自己判断字节数吧,或者字节写个字符串类
如果想创建12个字节的,空白字符串,可以用new String(byte[])构造函数
for example
byte[] b = new byte[12];
Arrays.fill(b, (byte)0x32);
String s = new String(b);
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

selly0919
    关注
    selly0919
    selly0919
    本版等级:T2

    
#2 得分:0 回复于: 2011-08-25 16:18:37
想实现什么样的功能呢?
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

yangting_lisa
    关注
    yangting_lisa
    小笨熊
    本版等级:T5

    
#3 得分:0 回复于: 2011-08-25 16:21:15
引用楼主 heqian0317 的回复:

    Java中如何创建指定大小字节数的字符串
    如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢



lz的字符串是指字符串数组?简单的一个String?
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

zhaolewen
    关注
    zhaolewen
    zhaolewen
    本版等级:T2

    
#4 得分:0 回复于: 2011-08-25 16:25:35
java中提供有构造方法,String(byte[] bytes, Charset charset) ,用特定的字符集把字节数组解码成string字符串,在创建字节数组时只要保证为12个字节就行,但转换成的字符串不一定等于字节数组的长度
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

heqian0317
    关注
    heqian0317
    heqian0317
    本版等级:T1

    
#5 得分:0 回复于: 2011-08-25 16:30:29
引用 3 楼 yangting_lisa 的回复:

    引用楼主 heqian0317 的回复:
    Java中如何创建指定大小字节数的字符串
    如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


    lz的字符串是指字符串数组?简单的一个String?


我想直接创建这么多字节的字符串,当实际内容没这么时,里面的内容二进制补充为0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

qybao
    关注
    qybao
    qybao
    本版等级:T9
    Blank Blank

    
#6 得分:0 回复于: 2011-08-25 17:00:46
引用 5 楼 heqian0317 的回复:

    引用 3 楼 yangting_lisa 的回复:
    引用楼主 heqian0317 的回复:
    Java中如何创建指定大小字节数的字符串
    如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


    lz的字符串是指字符串数组?简单的一个String?

    我想直接创建这么多字节的字符串,当实际内容没这么时,里面的内容二进制补充为0


for example
byte[] b = new byte[12];
Arrays.fill(b, (byte)0); //二进制0
String s = new String(b);
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

heqian0317
    关注
    heqian0317
    heqian0317
    本版等级:T1

    
#7 得分:0 回复于: 2011-08-25 18:05:14
byte 不是一个字节的吗.我通过
byte[] b = new byte[12];String s = new String(b); outs.writeChars(s);
文件大小怎么是24个字节的呢
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

luohuijun619
    关注
    luohuijun619
    luohuijun619
    本版等级:T6
    Blank

    
#8 得分:0 回复于: 2011-08-25 22:22:52
指定大小?用List不是更好吗
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

heqian0317
    关注
    heqian0317
    heqian0317
    本版等级:T1

    
#9 得分:0 回复于: 2011-08-26 17:46:13
引用 6 楼 qybao 的回复:

    引用 5 楼 heqian0317 的回复:
    引用 3 楼 yangting_lisa 的回复:
    引用楼主 heqian0317 的回复:
    Java中如何创建指定大小字节数的字符串
    如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


    lz的字符串是指字符串数组?简单的一个String?

    我想直接创建这么多字节的字符串,当实际内容没这么时,里面的内容二进制补充为0
    ……


这样好写在文件中是24字节的大小
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

qybao
    关注
    qybao
    qybao
    本版等级:T9
    Blank Blank

    
#10 得分:0 回复于: 2011-08-26 19:38:13
outs.writeChars(s); 改成 outs.writeBytes(s);
按字节输出而不是按字符输出
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

qybao
    关注
    qybao
    qybao
    本版等级:T9
    Blank Blank

    
#11 得分:30 回复于: 2011-08-26 19:40:16
javadoc里有说明

writeCharspublic final void writeChars(String s)
                      throws IOException将字符串按字符顺序写入基础输出流。通过 writeChar 方法将每个字符写入数据输出流。如果没有抛出异常,则计数器 written 增加 s 长度的两倍。

指定者:
接口 DataOutput 中的 writeChars
参数:
s - 要写入的 String 值。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
writeChar(int), FilterOutputStream.out




writeBytespublic final void writeBytes(String s)
                      throws IOException将字符串按字节顺序写出到基础输出流中。按顺序写出字符串中每个字符,丢弃其八个高位。如果没有抛出异常,则计数器 written 增加 s 的长度。

指定者:
接口 DataOutput 中的 writeBytes
参数:
s - 要写入的字节字符串。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

softroad
    关注
    softroad
    softroad
    本版等级:T7
    Blank

    
#12 得分:0 回复于: 2011-08-26 20:39:31
学习了。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

heqian0317
    关注
    heqian0317
    heqian0317
    本版等级:T1

    
#13 得分:0 回复于: 2011-08-29 09:47:07
谢谢噢.
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理

heqian0317
    关注
    heqian0317
    heqian0317
    本版等级:T1

    
#14 得分:0 回复于: 2011-08-29 10:40:11
引用 9 楼 heqian0317 的回复:

    引用 6 楼 qybao 的回复:
    引用 5 楼 heqian0317 的回复:
    引用 3 楼 yangting_lisa 的回复:
    引用楼主 heqian0317 的回复:
    Java中如何创建指定大小字节数的字符串
    如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


    lz的字符串是指字符串数组?简单的一个String?

    我想直接创建这么多字节的字符串,当实际内容……


请问下又如何初始化我创建的数组里的内容呢.比如我一个手机号1371234567 想他输出的字节数占12个字节

你可能感兴趣的:(Java中如何创建指定大小字节数的字符串)