2つの異なるテキストファイルを3番目のファイルにマージして昇順に並べ替えるプログラムを作成しようとしています。 12 23 34 45 56 67 69 123 1332つのテキストファイルをマージして3番目のファイルにソート
ファイル4:2:5 10 20 35 44 100 130 150 160 180
そしてここされ、ここで2つのファイルがその中に
ファイル1を持っているものです私がこれまで持っているコード:
try
{
FileReader file1=new FileReader("D://School//text1.txt");
Scanner scan = new Scanner(new File("D://School//text1.txt"));
ArrayList<Integer> values = new ArrayList<Integer>();
Collections.sort(values); //sorting the values
while(scan.hasNextInt()) values.add(scan.nextInt());
FileReader file2=new FileReader("D://School//text2.txt");
scan = new Scanner(new File("D://School//text2.txt"));
values = new ArrayList<>();
Collections.sort(values); //sorting the values.
while(scan.hasNextInt()) values.add(scan.nextInt());
BufferedReader br1 = new BufferedReader (file1);
BufferedReader br2 = new BufferedReader(file2);
String temp1 = "";
String temp2 = "";
while(br1.readLine() !=null)
{
temp1=br1.readLine()+temp1;
}
while(br2.readLine()!=null)
{
temp2=br2.readLine()+temp2;
}
String temp = temp1 + temp2;
FileWriter fw=new FileWriter("D://School//text3.txt");
char buffer[]=new char[temp.length()];
temp.getChars(0,temp.length(),buffer,0);
fw.write(buffer);
file1.close();
file2.close();
fw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
プログラムは、これまでのところしかし、それは昇順にそれをソートされていない、第三のファイルに適切な内容を読み書きすることができるようになります。ここで
プログラムは3番目のファイルに
12 23 34 45 56 67 69 123 133 4 5 10 20 35 44 100 130 150 160 180
を出力します何である私は、それは事前にそう
4 5 10 12 20 23 34 35 44 45 56 67 69 100 123 130 133 150 160 180
感謝:)
3番目のファイルには、それが印刷されることは印刷されません。あなたのコードを実行し、3番目のファイルに 'nullnull'が含まれています。すべての数字を改行すると、 'null123674523null16013044205'が入ります。 – Arjan
これは私に質問につながります。それらの数字はすべて1行に入っているのですか? – Arjan
両方のデータ番号をテキストファイルの2行目に置き、3番目の行に正しく出力する必要があります。また、3番目のファイルに出力する番号は、すべて1行になります。 –