一般在解析文件读取数据时,文件每一行的字段与字段之间都会以指定符合隔开,比如:"|"、","等。但是最近一个项目,文件中每一行是以由字段指定的字节长所组成的,中间并无任何符号,这倒是少见。
按照正常的思路,读取每一行时按照指定字节的长度,使用subString截取即可。但是在生产上,文件都是放在linux服务器上的,文件的编码格式一般为:GBK,而且是经过GBK编码的字节文件,subString是截取字符串的,自然不能用了。
那具体该如何做呢,1:替换subString,重写新方法去进行字节截取
2:在解析之前对文件先进行GBK编码
代码贴出来:
/** * 解析黑名单表文件 * * @param filePath * 黑名单表文件路径 * @return blackList 要新增的黑名单集合 * @throws Exception */ public static List<LoanBlackList> parseCunegFile(String filePath) throws Exception { // 创建接受list List<LoanBlackList> blackList = new ArrayList<>(); try { File file = new File(filePath); InputStream is = new FileInputStream(file); BufferedReader br = new BufferedReader(new