?? textfileuserdao.java
字號:
package server.dao;
import java.util.*;
import java.io.*;
import server.model.User;
public class TextFileUserDAO implements UserDAO{
String fileName;
public TextFileUserDAO(String fileName) {
this.fileName = fileName;
}
//讀取fileName文本文件,把每一行用冒號解析出來,構造User對象,放在集合里
public Map<String, User> getAllUsers() {
Map<String,User> users=new HashMap<String,User>();
try{
FileReader fr=new FileReader(fileName);
BufferedReader in=new BufferedReader(fr);
String s;
while((s=in.readLine())!=null){
StringTokenizer st=new StringTokenizer(s,":");
String userName=st.nextToken();
String password=st.nextToken();
String name=st.nextToken();
String classNumber=st.nextToken();
String email=st.nextToken();
String phone=st.nextToken();
User u=new User(userName,password,name,classNumber,email,phone);
users.put(userName,u);
}
in.close();
}
catch(Exception e){
e.printStackTrace();
}
return users;
}
public List<User> getAllUsersByClassNumber(String classNumber) {
Map<String,User> users=getAllUsers();
List<User> l=new ArrayList<User>();
Set<String> userNames=users.keySet();
for(String s:userNames){
User u=users.get(s);
if (classNumber.equals(u.getClassNumber())){
l.add(u);
}
}
return l;
}
//一切正常,返回true,出現異常返回false
public boolean saveUser(User u) {
try {
FileOutputStream fo=new FileOutputStream(fileName,true);
PrintWriter out=new PrintWriter(fo);
out.println(u.toString());
out.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -