Java 从文件中读取内容,然后将其复制到另一个文件(更新的代码)
代码如下:Java 从文件中读取内容,然后将其复制到另一个文件(更新的代码),java,string,file,loops,search,Java,String,File,Loops,Search,代码如下: 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 =
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();
}
}
FileReader fr=newfilereader(“datos_clientes.txt”);
BufferedReader br=新的BufferedReader(fr);
而((line=br.readLine())!=null){
字符串nameMark=“#n”;
字符串addressMark=“#d”;
int nameStart=line.indexOf(nameMark)+nameMark.length();
int addressStart=line.indexOf(addressMark)+addressMark.length();
String name=line.substring(nameStart,addressStart-addressMark.length());
字符串地址=line.substring(addressStart,line.length());
if(行startsWith(“tipo1”)){
FileWriter fw=新的FileWriter(名称+“.txt”);
char[]vector=name.toCharArray();
char[]vector2=address.toCharArray();
int指数=0;
while(索引<向量长度){
fw.write(向量[index]+vector2[index]);
索引++;
}
fw.close();
}else if(行startsWith(“tipo2”)){
FileWriter fw=新的FileWriter(名称+“.txt”);
char[]vector=name.toCharArray();
char[]vector2=address.toCharArray();
int指数=0;
while(索引<向量长度){
fw.write(向量[index]+vector2[index]);
索引++;
}
fw.close();
}
else if(行startsWith(“tipo3”)){
FileWriter fw=新的FileWriter(名称+“.txt”);
char[]vector=name.toCharArray();
char[]vector2=address.toCharArray();
int指数=0;
while(索引<向量长度){
fw.write(向量[index]+vector2[index]);
索引++;
}
fw.close();
}
}
我想从这段代码中得到的是用收件人的姓名和地址创建每个新文件。
新文件只显示随机字母字符的组合
然后,我有三个预先制作的文件,我必须在每个新文件中包含这些文件,例如,如果其中一个新文件是“Maria Roberts.txt”,此人将收到一封“type 1”信,我希望文件(Maria Roberts.txt)包含姓名、地址和文件“type1.txt”
我不知道怎么做
我知道我在每一个新问题中都会添加一些东西。。。对不起,我想我更容易理解它。
再次感谢 将名称数组中的一个字符与地址数组中的一个字符相加,然后输出结果
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++;
}
int索引=0;
while(索引<向量长度){
fw.write(向量[索引]);
索引++;
}
指数=0;
while(索引<向量2.长度){
fw.write(向量2[index]);
索引++;
}
这只会将它们粘在一起,但你可以利用你的想象力,找出如何按你想要的方式将它们分开。你的错误是否说明是哪一行造成的?还有,
如果(…tipo2..)
与如果
的代码完全相同,那么它的意义是什么?是否有可能在您的任何输入中丢失“#n”或“#a”?Erick是对的!在子字符串操作中使用索引之前,应该始终检查索引是否为“>=0”。是的,他是对的!谢谢现在,我如何用接收文件的人的名字来命名文件@埃里克,哈格斯特罗姆·汉克斯!我现在有个问题。在新文件中,我也需要写入地址,当我这样做时,文件中的文本被混淆了。我怎样才能做好呢@谢谢你的帮助!要将另一个文件的内容写入新文件,我该怎么做?来吧,@Maria。试试看。您已经知道了实现此功能所需的一切信息。:-)