Проблема, связанная с чтением и записью LinkedList в файл .txt (чтение содержимого файла отличается от написанного) - PullRequest
0 голосов
/ 01 мая 2018

Я читаю файл .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());





     }

   }
...