📄 interestserver.java
字号:
package BS.server;
/**
* @author 束罡
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
import java.io.File;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
//利息
public class InterestServer extends Thread
{
private static float InterestRate = 0.1f;
private static String serverData = ".\\bin\\BankServerData\\";
private static String serverName = "Project1Server";
private static String BankServerData;
private static DocumentBuilderFactory dbf = null;
private static DocumentBuilder db = null;
private static Document doc = null;
public static boolean flag = false;
public void run()
{
flag = true;
while (true)
{
if (flag == true)
{
try
{
//每30秒钟增加一次利息
sleep(30000);
InterestServer.interestsIncreaser();
}
catch(InterruptedException e)
{
} catch (Exception e)
{
}
}
}
}
public static synchronized boolean interestsIncreaser() throws Exception
{
InterestServer.BankServerData = serverData + serverName + ".xml";
dbf = DocumentBuilderFactory.newInstance();
db = null;
doc = null;
try
{
db = dbf.newDocumentBuilder();
doc = db.parse(BankServerData);
}
catch(Exception e)
{
System.out.println("----------------------------");
System.err.println("ERROR>> 银行数据文件找不到");
System.out.println("----------------------------");
System.exit(1);
}
System.out.println("============================");
System.out.println("SYSTEM>> 银行进行利息增长!利率10%");
System.out.println("============================");
Element e;
Text t;
String str1 = "";
Element root = doc.getDocumentElement();
NodeList userList = root.getElementsByTagName("user");
NodeList t_id;
for(int i=0; i<userList.getLength(); i++)
{
Element user = (Element) userList.item(i);
t_id = user.getElementsByTagName("amount");
e = (Element) t_id.item(0);
t = (Text) e.getFirstChild();
str1 = t.getData();
float interests = Float.parseFloat(str1)*(1+InterestRate);
t.setData("" + interests);
// 创建转换工厂TransformerFactory
TransformerFactory transFactory = TransformerFactory.newInstance();
// 创建转换器Transformer
Transformer former = transFactory.newTransformer();
// 将上面创建的Document 树转换为Source树
DOMSource source = new DOMSource(doc);
former.setOutputProperty(OutputKeys.ENCODING,"gb2312");//设置转换器编码
former.setOutputProperty(OutputKeys.INDENT,"yes");//指定输出结果树时可以添加额外的空白
PrintWriter writer = new PrintWriter(new File(BankServerData));
// Writer的输出是字符流,而OutputStreamj 字节流
StreamResult result = new StreamResult(writer);//转换结果
former.transform(source,result);//将树输出
writer.close();
}
return true;
}
public static void main (String [] args) throws Exception
{
InterestServer is = new InterestServer();
is.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -