Я читаю файл .txt в связанном списке, затем разбиваю этот связанный список на два одинаковых по размеру связанных списка.
Затем я пишу эти два (связанные списки компонентов) в двух отдельных файлах. После сохранения этих файлов мне нужно прочитать эти файлы и получить их содержимое, чтобы объединить их в исходные данные.
Но когда я читал файлы компонентов, я заметил, что размер связанных списков отличается от тех, которые были написаны.
Например, если мой исходный файл data_LinkedList имел размер 402, мой двухкомпонентный компонент linkList имел размер 201 каждый, после записи в файлы и последующего чтения размер будет составлять 208 или 209 для каждого компонента. В результате эти компоненты не объединяются, чтобы сформировать исходные данные.
public class MyFramework {
public static void write(List<String> doublencC, List<String> doubleencR)
{
String ec="...C Component File Path";
try {
FileWriter fileWriter = new FileWriter(ec);
BufferedWriter bufferedWriter =new BufferedWriter(fileWriter);
for(String c:doublencC)
{ bufferedWriter.write(c);
bufferedWriter.newLine();
}
bufferedWriter.flush();
bufferedWriter.close();
String er="...R Component File Path";
FileWriter fileWriter2 = new FileWriter(er);
BufferedWriter bufferedWriter2 =new BufferedWriter(fileWriter2);
for(String re : doubleencR){
bufferedWriter2.write(re);
bufferedWriter2.newLine();
}
bufferedWriter2.flush();
bufferedWriter2.close();
}
catch(IOException ex) {
System.out.println("Error writing to file");
}
}
public static List <String> [] readFun() throws IOException
{
String ec="...C Component File Path";
File D = new File(ec);
List<String> si = FileUtils.readLines(D);
String er="...R Component File Path";
File D1 = new File(er);
List<String> s2 = FileUtils.readLines(D1);
List <String> [] myread = new LinkedList [2];
myread[0]= new LinkedList<String>(si);
myread[1]= new LinkedList<String>(s2);
return myread;
}
public static void main(String[] args) throws IOException {
File D = new File("...myFile path");
List<String> data = FileUtils.readLines(D);
List<String> C = new LinkedList <String>(data.subList(0, (data.size()+1)/2));
List<String> R = new LinkedList <String>(data.subList((data.size()+1)/2,data.size()) );
System.out.println(C.size()+" "+R.size());
System.out.println();
System.out.println();
write(C,R);
List <String> [] myread = new LinkedList [2];
myread = readFun();
doubleencC= new LinkedList<String>();
doubleencR= new LinkedList<String>();
doubleencC= myread[0];
doubleencR= myread[1];
JOptionPane.showMessageDialog(null,"ReadFile Sizes "+doubleencC.size()+"
"+doubleencR.size()+" WrittenFile Sizes "+C.size()+" "+R.size());
}
}