这个应该是和你的编辑器用的编码方式有关,eclipse是默认unicode的,netbeans是GBK,如果是记事本应该是操作系统的用的编码,但是你下面用的iso-8859-1,肯定与上面的编码不同,如果产生的byte长度也会不同,s1的编码要和你编辑器用的编码相同
空指针嘛,就是说int firstIndex=fileStr.indexOf("filename=\"");这个语句里面有一个引用是空的,多数应该是fileStr是空值吧,你检查一下这个变量看看
如果不考虑原来字符集,那么结果应该一致。