我想要实现的是读取两个文件,随机化每个文件中字符串的顺序,然后将它们一起添加到一个新的空白文件中。我能够读取文件并将它们随机化,但是当将两个文件组合在一起时,我会在字符串之后收到不需要的输出,例如:NAME1java.io.FileReader@78ef430bCOMPANY2java.io.FileReader@d80ba6ff
(显然我不想要的部分是java.io.FileReader@d80ba6ff部分,@ 后面的字符总是随机的)
我似乎也只阅读了每个文件的一行
这是我将文件组合在一起的主要方法
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();
也是我的随机文件方法之一
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: 名称 1 名称 2 名称3
文件 2: 公司 1 公司 2 公司 3
随机 File1 + File2 = File3 的组合:
名称 3,公司 2
名称 1,公司 1
名称 2,公司 3