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

heqian0317 2011-08-25 03:57:17
Java中如何创建指定大小字节数的字符串
如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢
...全文
1919 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
heqian0317 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 heqian0317 的回复:]
引用 6 楼 qybao 的回复:
引用 5 楼 heqian0317 的回复:
引用 3 楼 yangting_lisa 的回复:
引用楼主 heqian0317 的回复:
Java中如何创建指定大小字节数的字符串
如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


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

我想直接创建这么多字节的字符串,当实际内容……
[/Quote]
请问下又如何初始化我创建的数组里的内容呢.比如我一个手机号1371234567 想他输出的字节数占12个字节
heqian0317 2011-08-29
  • 打赏
  • 举报
回复
谢谢噢.
softroad 2011-08-26
  • 打赏
  • 举报
回复
学习了。
qybao 2011-08-26
  • 打赏
  • 举报
回复
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
qybao 2011-08-26
  • 打赏
  • 举报
回复
outs.writeChars(s); 改成 outs.writeBytes(s);
按字节输出而不是按字符输出
heqian0317 2011-08-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qybao 的回复:]
引用 5 楼 heqian0317 的回复:
引用 3 楼 yangting_lisa 的回复:
引用楼主 heqian0317 的回复:
Java中如何创建指定大小字节数的字符串
如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


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

我想直接创建这么多字节的字符串,当实际内容没这么时,里面的内容二进制补充为0
……
[/Quote]
这样好写在文件中是24字节的大小
luohuijun619 2011-08-25
  • 打赏
  • 举报
回复
指定大小?用List不是更好吗
heqian0317 2011-08-25
  • 打赏
  • 举报
回复
byte 不是一个字节的吗.我通过
byte[] b = new byte[12];String s = new String(b); outs.writeChars(s);
文件大小怎么是24个字节的呢
qybao 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 heqian0317 的回复:]
引用 3 楼 yangting_lisa 的回复:
引用楼主 heqian0317 的回复:
Java中如何创建指定大小字节数的字符串
如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


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

我想直接创建这么多字节的字符串,当实际内容没这么时,里面的内容二进制补充为0
[/Quote]
for example
byte[] b = new byte[12];
Arrays.fill(b, (byte)0); //二进制0
String s = new String(b);
heqian0317 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangting_lisa 的回复:]
引用楼主 heqian0317 的回复:
Java中如何创建指定大小字节数的字符串
如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢


lz的字符串是指字符串数组?简单的一个String?
[/Quote]
我想直接创建这么多字节的字符串,当实际内容没这么时,里面的内容二进制补充为0
不学习就落后 2011-08-25
  • 打赏
  • 举报
回复
java中提供有构造方法,String(byte[] bytes, Charset charset) ,用特定的字符集把字节数组解码成string字符串,在创建字节数组时只要保证为12个字节就行,但转换成的字符串不一定等于字节数组的长度
小笨熊 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 heqian0317 的回复:]
Java中如何创建指定大小字节数的字符串
如:想创建一个固定长度为12个字节的字符串如何创建呢.谢谢
[/Quote]

lz的字符串是指字符串数组?简单的一个String?
selly0919 2011-08-25
  • 打赏
  • 举报
回复
想实现什么样的功能呢?
qybao 2011-08-25
  • 打赏
  • 举报
回复
这个没法控制,自己判断字节数吧,或者字节写个字符串类
如果想创建12个字节的,空白字符串,可以用new String(byte[])构造函数
for example
byte[] b = new byte[12];
Arrays.fill(b, (byte)0x32);
String s = new String(b);

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧