永发信息网

java 的trim方法

答案:4  悬赏:40  手机版
解决时间 2021-04-03 14:17
  • 提问者网友:斑駁影
  • 2021-04-03 04:53
public String readLog(RandomAccessFile in,int n) throws IOException{
int start = 372*n;

byte[] buf = new byte[32];

in.seek(start+0);

in.read(buf);//连续读取32个byte

String user = new String(buf,"iso8859-1") .trim();
in.seek(start+68);
int pid = in.readInt();//68开始连续读4个byte
return user + "-" + pid;
}
用RandomAccessFile类读取日志遇到的问题
注意 String user = new String(buf,"iso8859-1") .trim(); 这一行 如果不trim的话
函数返回值 只有用户名user pid不知道哪去了。
在方法中加 System.out.println(pid) 可以读到pid但是做拼接就拼接不上。肿么回事?
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-04-03 05:22
我的compiler上显示“String user = new String(buf,"iso8859-1") .trim();”这一行会抛出一个UnsupportedEncodingException,而你的代码中没有处理。
全部回答
  • 1楼网友:青尢
  • 2021-04-03 06:59
发现使用了trim()方法之后,String str2 = new str1.trim() 这个写法是错误的,应该是 String str2 = str1.trim();不加new关键字,调试了很久发现是这个原因,具体为什么正在查
  • 2楼网友:你可爱的野爹
  • 2021-04-03 06:49
system.out.println(a.equals(b)); ==是比较地址的,而equal才是比较内容的,string型一定要用equals比较内容!
  • 3楼网友:青灯有味
  • 2021-04-03 06:43
return user + "-" + String.valueOf(pid); 试试
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯