main
HuangHai 1 month ago
parent 3638caaed6
commit 7e84596d5b

@ -32,7 +32,7 @@ public class TestMax32K {
/** /**
* *
*/ */
private static List<String> splitLargeTable(String tableName, Set<String> fieldNames, private static List<String> splitLargeTable(Set<String> fieldNames,
List<Record> allTableData, int maxSize) { List<Record> allTableData, int maxSize) {
List<String> chunks = new ArrayList<>(); List<String> chunks = new ArrayList<>();
StringBuilder currentTableChunk = new StringBuilder(); StringBuilder currentTableChunk = new StringBuilder();
@ -57,7 +57,7 @@ public class TestMax32K {
// 检查是否超过限制 // 检查是否超过限制
if (currentTableChunk.length() + rowData.length() > maxSize) { if (currentTableChunk.length() + rowData.length() > maxSize) {
if (currentTableChunk.length() > 0) { if (!currentTableChunk.isEmpty()) {
chunks.add(currentTableChunk.toString()); chunks.add(currentTableChunk.toString());
currentTableChunk = new StringBuilder(); currentTableChunk = new StringBuilder();
} }
@ -65,22 +65,13 @@ public class TestMax32K {
currentTableChunk.append(rowData); currentTableChunk.append(rowData);
} }
if (currentTableChunk.length() > 0) { if (!currentTableChunk.isEmpty()) {
chunks.add(currentTableChunk.toString()); chunks.add(currentTableChunk.toString());
} }
return chunks; return chunks;
} }
/**
*
*/
public static String[] getDataChunks() {
// 这里可以将main方法中的逻辑提取出来返回分块数据
// 为了简化,这里只是示例
return new String[]{"示例数据块1", "示例数据块2"};
}
public static String generateComprehensiveReport() { public static String generateComprehensiveReport() {
LocalMysqlConnectUtil.Init(); LocalMysqlConnectUtil.Init();
@ -254,7 +245,7 @@ public class TestMax32K {
// 如果单个表数据超过限制,需要进一步分割 // 如果单个表数据超过限制,需要进一步分割
if (tableDataStr.length() > MAX_CHUNK_SIZE - header.length()) { if (tableDataStr.length() > MAX_CHUNK_SIZE - header.length()) {
List<String> tableChunks = splitLargeTable(tableName, fieldNames, allTableData, MAX_CHUNK_SIZE - header.length()); List<String> tableChunks = splitLargeTable(fieldNames, allTableData, MAX_CHUNK_SIZE - header.length());
for (int i = 0; i < tableChunks.size(); i++) { for (int i = 0; i < tableChunks.size(); i++) {
StringBuilder chunkBuilder = new StringBuilder(); StringBuilder chunkBuilder = new StringBuilder();
chunkBuilder.append(header); chunkBuilder.append(header);

Loading…
Cancel
Save