📄 user.java
字号:
//package game;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
import javax.xml.parsers.*;
public class User {
static final long serialVersionUID = 1;
private String name;
private String ico;
private int money;
private static String userInfomationFile = "config\\userInformation.xml";
User(){
}
User(String n, int m, String i){
name = n;
money = m;
ico = i;
}
public void init(String n){
name = n;
money = readUserMoney();
ico = readUserIco();
}
private Document creatDoc(){
try{
File f = new File(userInfomationFile);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
return doc;
}catch(Exception e){
System.out.println("ReadError");
return null;
}
}
public void writeDoc(Document doc){
TransformerFactory tFactory =TransformerFactory.newInstance();
try{
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(userInfomationFile));
transformer.transform(source, result);
}catch(Exception e){
System.out.println("Error");
}
}
/*
private String readUserName(){
return getUserNode().getFirstChild().getNodeValue();
}
*/
private int readUserMoney(){
return Integer.parseInt(getUserNode().getNextSibling().getFirstChild().getNodeValue());
}
private String readUserIco(){
return getUserNode().getNextSibling().getNextSibling().getFirstChild().getNodeValue();
}
public String getUserName(){
return this.name;
}
public int getUserMoney(){
return this.money;
}
public String getUserIco(){
return this.ico;
}
public void setUserName(String n){
this.name = n;
}
public void setUserMoney(int m){
this.money = m;
}
public void setUserIco(String i){
this.ico = i;
}
public void addUser(){
Document XMLDocument = creatDoc();
Element nameNode=XMLDocument.createElement("name");
nameNode.appendChild(XMLDocument.createTextNode(name));
Element moneyNode=XMLDocument.createElement("money");
moneyNode.appendChild(XMLDocument.createTextNode(money + ""));
Element icoNode=XMLDocument.createElement("ico");
icoNode.appendChild(XMLDocument.createTextNode(ico));
Element userNode=XMLDocument.createElement("user");
userNode.appendChild(nameNode);
userNode.appendChild(moneyNode);
userNode.appendChild(icoNode);
XMLDocument.getDocumentElement().appendChild(userNode);
writeDoc(XMLDocument);
}
public boolean isUser(String n){
if( getUserNode() != null){
return true;
}
else{
return false;
}
}
public Node getUserNode(){
Document XMLDocument = creatDoc();
NodeList userList = XMLDocument.getElementsByTagName("user");
for(int i = 0;i < userList.getLength(); i++){
if(name.equals(XMLDocument.getElementsByTagName("name").item(i).getFirstChild().getNodeValue())){
Node tempN = XMLDocument.getElementsByTagName("name").item(i);
return tempN;
}
}
return null;
}
public void removeUser(){
Document XMLDocument = creatDoc();
XMLDocument.getDocumentElement().removeChild(getUserNode());
writeDoc(XMLDocument);
}
public void save(){
Document XMLDocument = creatDoc();
NodeList userList = XMLDocument.getElementsByTagName("user");
for(int i = 0;i < userList.getLength(); i++){
if(name.equals(XMLDocument.getElementsByTagName("name").item(i).getFirstChild().getNodeValue())){
Node tempN = XMLDocument.getElementsByTagName("name").item(i);
//tempN.getFirstChild().setNodeValue("mirong");
tempN.getNextSibling().getFirstChild().setNodeValue(money + "");//保存money
tempN.getNextSibling().getNextSibling().getFirstChild().setNodeValue(ico);
}
}
writeDoc(XMLDocument);
init(name);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -