私が達成しようとしているのは、2 つのファイルを読み取り、各ファイルの文字列の順序をランダム化し、それらを新しい空のファイルに追加することです。ファイルを読み込んでランダム化することはできますが、2 つのファイルを結合すると、次のような文字列の後に不要な出力が表示されます。
(明らかに、私が望まない部分はjava.io.FileReader@d80ba6ff部分であり、@ の後の文字は常にランダムです)
私も各ファイルの1行だけを読んでいるようです
ファイルを結合する主な方法は次のとおりです
ReadFiles obj = new ReadFiles();
obj.loadCompanies();
obj.loadTitles();
FileReader fCompany=new FileReader("F:\\company2.txt");
FileReader fTitle=new FileReader("F:\\title2.txt");
BufferedReader br1 = new BufferedReader(fCompany);
BufferedReader br2 = new BufferedReader(fTitle);
String tempCompany = null, tempTitle = null;
while(br1.readLine() != null)
{
tempCompany = br1.readLine()+ fCompany;
}
while(br2.readLine()!=null)
{
tempTitle = br2.readLine() + fTitle;
}
String tempFile = tempCompany + ", " + tempTitle;
FileWriter fw = new FileWriter("F:\\companyTitleCombined.txt");
char buffer[] = new char[tempFile.length()];
tempFile.getChars(0,tempFile.length(),buffer,0);
fw.write(buffer);
fCompany.close();
fTitle.close();
fw.close();
また、私のランダム化されたファイル方法の1つ
public void loadCompanies(){
String[] strArr = new String[10];
int i = 0;
Scanner readInformation = null;
try {
readInformation = new Scanner(new File("F:\\company.txt"));
PrintStream out = new PrintStream(new FileOutputStream("F:\\company2.txt"));
System.setOut(out);
} catch (Exception e) {
System.out.println("Could not locate the data file!");
}
while(readInformation.hasNext()) {
strArr[i] = readInformation.next();
int rand = (int) Math.floor(strArr.length * Math.random());
System.out.println(strArr[rand]);
i++;
}
readInformation.close();
}
これらの不要な出力を取り除くためにあなたが私に与えることができるどんな助けも大歓迎です!
お時間をいただきありがとうございます。
出力例:
ファイル 1: name1 name2 name3
ファイル 2: company1 company2 company3
ランダム化された File1 + File2 = File3 の組み合わせ:
名前3、会社2
名前1、会社1
名前2、会社3