📄 fileaccessor.java
字号:
package iitax;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class FileAccessor {
/**
* 保存读取的税率表
*/
private ArrayList taxRateList = null;
/**
* 保存读取的起征点值
*/
private double startingPoint = 0.0D;
/**
* 将指定的税率表和起征点持久化到文件中
* @param taxList 税率表
* @param startingPoint 起征点
* @throws Exception 文件读写异常
*/
public void saveParas(ArrayList taxList, double startingPoint) throws Exception{
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(Constants.PERSIST_FILE_NAME));
oos.writeObject(taxList);
oos.writeDouble(startingPoint);
oos.flush();
oos.close();
}
/**
* 从文件读取税率表和起征点的值
* @throws Exception 文件读写异常
*/
public void loadParas() throws Exception{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(Constants.PERSIST_FILE_NAME));
taxRateList = (ArrayList)ois.readObject();
startingPoint = ois.readDouble();
ois.close();
}
/**
* 取得读取到的税率表
* @return 税率表
*/
public ArrayList getTaxList(){
return taxRateList;
}
/**
* 取得读取到的起征点
* @return 起征点的值
*/
public double getStartingPoint(){
return startingPoint;
}
/**
* 测试函数
* @param args
*/
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add(new TaxItem(0, 500, 0.05));
list.add(new TaxItem(500, 2000, 0.10));
list.add(new TaxItem(2000, 5000, 0.15));
list.add(new TaxItem(5000, 20000, 0.20));
list.add(new TaxItem(20000, 0.25));
FileAccessor fa = new FileAccessor();
try{
fa.saveParas(list, 1000.3D);
fa.loadParas();
ArrayList rList = fa.getTaxList();
double rDouble = fa.getStartingPoint();
System.out.println();
}catch(Exception e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -