public class FileUtil {
public static void main(String[] args) {
List<User> userList=new ArrayList<>();
User user1=new User("000001","黎明1","123456");
User user2=new User("000002","黎明2","123456");
User user3=new User("000003","黎明3","123456");
User user4=new User("000004","黎明4","123456");
User user5=new User("000010","黎明5","123456");
User user6=new User("000011","黎明6","123456");
User user7=new User("000021","黎明7","123456");
User user8=new User("000031","黎明8","123456");
User user9=new User("000041","黎明9","123456");
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4);
userList.add(user5);
userList.add(user6);
userList.add(user7);
userList.add(user8);
userList.add(user9);
writeContext(userList,4);
}
public static void writeContext(List<User> userList,int length){
if(userList.size()>length){
List<List<User>> splitList = splitList(userList, length);
splitList.forEach(users -> writeObjectToTxt(users));
}
}
/**
* 写数据到txt
* @param userList
*/
private static void writeObjectToTxt(List<User> userList){
File file=new File("/home/caozg/"+System.currentTimeMillis()+".txt");
if(!file.exists()){
try {
file.createNewFile();
BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(file));
userList.forEach(user -> {
try {
bufferedWriter.write(user.toString());
bufferedWriter.newLine();
} catch (IOException e) {
System.out.println("写数据异常");
}
});
bufferedWriter.flush();
bufferedWriter.close();
} catch (IOException e) {
System.out.println("文件创建失败");
}
}
}
/**
* 按长度切割List
* @param list 源List
* @param len 切割的长度
* @return
*/
private static List<List<User>> splitList(List<User> list, int len) {
if (list == null || list.size() == 0 || len < 1) {
return null;
}
List<List<User>> result = new ArrayList<>();
int size = list.size();
int count = (size + len - 1) / len;
for (int i = 0; i < count; i++) {
List<User> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
result.add(subList);
}
return result;
}
}