以下是代码:
FileReader fr = new FileReader("datos_clientes.txt");
BufferedReader br = new BufferedReader(fr);
while ((line = br.readLine()) != null) {
String nameMark = "#n";
String addressMark = "#d";
int nameStart = line.indexOf(nameMark) + nameMark.length();
int addressStart = line.indexOf(addressMark) + addressMark.length();
String name = line.substring(nameStart, addressStart - addressMark.length());
String address = line.substring(addressStart, line.length());
if (line.startsWith("tipo1.")) {
FileWriter fw = new FileWriter(name +".txt");
char[] vector = name.toCharArray();
char[] vector2 = address.toCharArray();
int index = 0;
while (index < vector.length) {
fw.write(vector[index]+vector2[index]);
index++;
}
fw.close();
} else if (line.startsWith("tipo2.")) {
FileWriter fw = new FileWriter(name +".txt");
char[] vector = name.toCharArray();
char[] vector2 = address.toCharArray();
int index = 0;
while (index < vector.length) {
fw.write(vector[index]+vector2[index]);
index++;
}
fw.close();
}
else if (line.startsWith("tipo3.")) {
FileWriter fw = new FileWriter(name +".txt");
char[] vector = name.toCharArray();
char[] vector2 = address.toCharArray();
int index = 0;
while (index < vector.length) {
fw.write(vector[index]+vector2[index]);
index++;
}
fw.close();
}
}
我希望从此代码中创建每个新文件,其中包含收件人的姓名及其地址。 新文件只显示随机字母字符组合。
然后我有三个预制文件,我必须在每个新文件中包含这些文件,例如,如果其中一个新文件是&#34; Maria Roberts.txt&#34;这个人会得到一个&#34;类型1&#34;我希望文件(Maria Roberts.txt)包含名称,地址和文件&#34; type1.txt&#34; 我不知道该怎么做。
我知道我在每个新问题中添加内容...对不起,我觉得理解它会更容易。 再次感谢!
答案 0 :(得分:1)
您正在从名称数组中添加一个字符,其中一个字符来自地址数组,然后输出结果。
fw.write(vector[index]+vector2[index]);
相反,您想要编写整个名称数组,然后(在不同的循环中)写入整个地址数组。
int index = 0;
while (index < vector.length) {
fw.write(vector[index]);
index++;
}
index = 0;
while (index < vector2.length) {
fw.write(vector2[index]);
index++;
}
这只会把它们粘在一起,但你可以运用你的想象力,弄清楚如何按照你想要的方式将它们分开。