⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileaccessor.java

📁 一个计算个人所得税的Java程序
💻 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 + -