Код: Выделить всё
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReassembleTheFragmentedLines {
// Method to find the maximum common part between two strings from both ends
public static String findMaxCommonPart(String str1, String str2) {
String maxCommonPart = "";
for (int i = 1; i maxCommonPart.length()) {
maxCommonPart = commonPart;
maxCommonPartIndex = j;
}
}
}
if (maxCommonPartIndex != -1) {
assembledLine.append(parts.get(maxCommonPartIndex).substring(maxCommonPart.length()));
} else {
assembledLine.append(parts.get(i));
}
}
return assembledLine.toString();
}
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("reassembled.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
String[] partsArray = line.split(" ");
List parts = new ArrayList();
for (String part : partsArray) {
parts.add(part);
}
String reassembledLine = reassembleLine(parts);
writer.write(reassembledLine);
writer.newLine();
}
System.out.println("Reassembled the file in reassembled.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... by-overlap