我希望基本上以这种方式对filewriter
进行编码,以便可以调用相同的方法将数据写入不同的文本文件。
例如,如果我有一个管理员,经理和供应商,我想为他们所有人调用相同的方法,但是有不同的文本文件。
p.s //很抱歉让我感到困惑,只是我在理解这种语言时遇到很多困难,而我们的讲师对我完全没有帮助。
package catalogue;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class UserDetails {
public String userID;
public String name, address,emailID,role,username,password;
public void write(String id,String name,String add,String email,String role,String un,String pass)
{
this.userID = id;
this.name = name;
this.address = add;
this.emailID = email;
this.role = role;
this.username = un;
this.password = pass;
FileWriter fw;
try{
fw = new FileWriter("userdetails.txt",true);
fw.write(un+"|");
fw.write(pass+"|");
fw.write(id+"|");
fw.write(name+"|" );
fw.write(email+"|");
fw.write(role+"|");
fw.write(add+"|");
fw.write(System.getProperty("line.separator"));
fw.close();
}
catch (IOException ex)
{
Logger.getLogger(UserDetails.class.getName()).log(Level.SEVERE, null, ex);
}
}
答案 0 :(得分:0)
该文件以字符串形式提供给FileWriter
;在您的示例“ userdetails.txt”中。
如果要写入其他文件,只需更改该字符串即可。
您可以将文件名添加到write()
方法中,即
public void write(String fileName,String id,String name,String add,String email,String role,String un,String pass)
{
...
FileWriter fw;
try{
fw = new FileWriter(fileName,true);
...
}
catch (IOException ex)
{
Logger.getLogger(UserDetails.class.getName()).log(Level.SEVERE, null, ex);
}
}
答案 1 :(得分:0)
您可以再加上一个参数role
,如下所示:
public void write(String id,String name,String add,String email,String role,String un,String pass, String role)
然后在该方法内部,您可以根据role
的值创建具有不同名称的文件,例如
if("admin".equals(role)){
fw = new FileWriter("filename-for-admin.txt",true);
} else if("manager".equals(role)){
fw = new FileWriter("filename-for-manager.txt",true);
} else if("supplier".equals(role)){
fw = new FileWriter("filename-for-supplier.txt",true);
}