java怎么从一个字符串里读出第一个字节
现在有个字符串Strings="abcdefg";要求读出这个字符串里的第一个字节注意:就从这个字符串里读,不要跟我说从文件里读,那样谁不会,不就是FileInputSt...
现在有个字符串String s="abcdefg";
要求读出这个字符串里的第一个字节
注意:就从这个字符串里读,不要跟我说从文件里读,那样谁不会,不就是FileInputStream吗
这个问题的重点是读字符串用哪个类
要求用IO流,不要用字符串方法 展开
要求读出这个字符串里的第一个字节
注意:就从这个字符串里读,不要跟我说从文件里读,那样谁不会,不就是FileInputStream吗
这个问题的重点是读字符串用哪个类
要求用IO流,不要用字符串方法 展开
5个回答
2015-01-18 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1806
获赞数:8100
2008年从事软件开发,拥有多年的python,php,linux工作经验,发布过多个python,php的开源项目。
向TA提问 私信TA
关注
展开全部
读字符串第一字节是什么意思呢,1个字符等于1个字节,你的意思是截取s中的第一位么?
System.out.println(s.subSequence(0, 1));
运行结果为
a
原方法为:
String.subSequence(beginIndex(开始字节数), endIndex(结束字节数))
System.out.println(s.subSequence(0, 1));
运行结果为
a
原方法为:
String.subSequence(beginIndex(开始字节数), endIndex(结束字节数))
追问
我的意思是用IO流读,不要用字符串方法
如果字符串方法,我直接charAt(0)就搞定了
用流读S的第一个字节
展开全部
byte[] bytes = s.getBytes();
byte[0]就是第一个字节
追问
不要这样的,就要从流里读
追答
最近看到ByteArrayInputStream 和ByteArrayOutputStream,叫做内存流,
String s = "abcdefg";
//构造方法
ByteArrayInputStream bis = new ByteArrayInputStream(s.getBytes());
//read()方法 Reads the next byte of data from this input stream,返回int值
//System.out.println(bis.read());//这是第一个字节
int data;
while(bis.avilable()>0)
{
data = bis.read();
System.out.println(data); //System.out.println((char)data);
}
虽然过了好久了,还是希望对你有用!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String str="H E L L O W O R L D";
ByteArrayInputStream bis=new ByteArrayInputStream(str.getBytes());
ByteArrayOutputStream bos=new ByteArrayOutputStream();
int temp=0;
List<Character>cc=new ArrayList<Character>();
//while((temp=bis.read())!=-1){
char c=(char)bis.read();
cc.add(c);
System.out.println(cc.toString());
ByteArrayInputStream bis=new ByteArrayInputStream(str.getBytes());
ByteArrayOutputStream bos=new ByteArrayOutputStream();
int temp=0;
List<Character>cc=new ArrayList<Character>();
//while((temp=bis.read())!=-1){
char c=(char)bis.read();
cc.add(c);
System.out.println(cc.toString());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java语言内部的char是使用unicode编码,utf-16,所以都是两字节。
getbytes后,实际上是转换成指定的编码字符集。
不指定时,一般用本地字符集,通常是gbk、acsii等,在这些字符集中,英文都是单字节的,所以会出现这样的问题。
getbytes后,实际上是转换成指定的编码字符集。
不指定时,一般用本地字符集,通常是gbk、acsii等,在这些字符集中,英文都是单字节的,所以会出现这样的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s.charAt(0); ?
追问
要求用流读
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询