linux&windows字符串截取~大神进
理论上这样截取字符串可以说是无缝的。但是在linux下死活截取出问题
代码:
/**
* @param oldStr 内容
* @param start 起始
* @param end 结束
* @return 返回截取内同
*/
public String getChar(String oldStr, int start, int end) {
int length = end - start;
byte[] c = new byte[length];
System.arraycopy(oldStr.getBytes(), start, c, 0, length);
return new String(c);
}
在windows下可以正常完全截取但是在linux下在这块的时候截取数字竟然为空
又遇到过的大神指教两招。。。linux不是太熟。。。琢磨了半天还是没解决。。在线等
java 基础 --------------------编程问答-------------------- 直接实现吧,接字符串很简单,我猜测是System.arraycopy()这个方法应该依赖操作系统的某些借口的,之前工作中遇到System.getenv()方法在windows和linux上运行不兼容。
System类中的方法应该调用的都是操作系统提供的相关借口,并未做相关的兼容处理。所以建议你自己实现吧。 --------------------编程问答-------------------- 感谢二楼的兄弟~ 我在看看有没有其他办法。。现在主要解决到 中文转码GBK和GB2312都是中文占3个字节。。导致位置偏移。修改linux字符集不太现实。。。影响甚大。。。。所以正在研究其他途径。。。 --------------------编程问答-------------------- 用 UTF-8 试试呢 --------------------编程问答--------------------
很有可能是这个原因咯,编码不同意导致字符乱码然后截取失败。 --------------------编程问答-------------------- 顶楼上的两位专家。
补充:Java , Web 开发