黑马程序员技术交流社区
标题:
如何实现:从字符串中按字节数截取一部份
[打印本页]
作者:
小周务商
时间:
2014-4-7 21:00
标题:
如何实现:从字符串中按字节数截取一部份
编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(用GBK码表)
例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
public static void cutout() throws IOException{
FileWriter fileWriter =new FileWriter("F:\\bb.txt");//创建一个新文件。并指定目录
fileWriter.write("HM程序员");//传入字符串。
fileWriter.flush();//把数据刷到目标文件中。
//用字符流缓冲,读取文件
File file =new File("F:\\bb.txt");//找到目录文件。
FileInputStream fileInputStream =new FileInputStream(file);//建立 数据通道。
//关闭资源。
fileInputStream.close();
fileWriter.close();
}
我只会写这么多了,下面的就不知道怎么写了。求大神分析思路。并有代码和注释。谢谢。。。。
作者:
911趣购
时间:
2014-4-8 03:07
用subString就搞定了啊
作者:
小周务商
时间:
2014-4-8 23:35
911趣购 发表于 2014-4-8 03:07
用subString就搞定了啊
求代码。这个方法不太会用。
作者:
fengzheng
时间:
2014-7-9 17:49
private static String getChar(String input, int pos)
{
int count = 0; //声明变量
int i = 0;
for (;i < input.length() && count < pos; i++)
{
char c = input.charAt(i);
if (c > 255) {
if (count + 2 <= pos)
{
count += 2;
} else {
break;
}
}
else
{
count += 1;
}
}
return input.substring(0, i);
}
public static void main(String[] args)
{
sc = new Scanner(System.in);
System.out.println("输入文字");
String line = sc.nextLine();
System.out.println("输入需要截取的字节");
int pos = sc.nextInt();
System.out.println(getChar(line, pos));
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2