参考之前工作中用到的一个案例,在进行数据插入的时候,一个List包含几千条数据,如果想通过多线程提高效率,可以对List按照固定长度进行截取,拆分为多个小的集合进行插入。

解题思路:
字符串按照长度8进行截取时,因为长度不满足需要进行长度补充,要么是第一次,要么是最后一次,如果仅有一次,那么也可看作最后一次。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        
        int len = str.length();
        if(str == "" || len == 0){
            return;
        }
        
        int subLen = 8;
        for(int i = 0; i < len; i += 8){
            if(i + 8 > len){
                subLen = len - i;
            }
            String tmp = str.substring(i, i + subLen);
            for(;subLen < 8; subLen++){
                tmp = tmp + "0";
            }
            System.out.println(tmp);
        }
    }
}