我从事Java软件工作也有几年的光景了,虽算不上大拿级别,但是勉强糊口还是可以的。这个工作干久了总会是影响到你的生活当中去。
昨天下午由于公司财务部门人员需要我提交一些发票,同时要统计一下自己的发票金额。所以呢我就从各个电商平台下载我的电子发票,总计有将近20多个文件。我首先想到的就是拿出手机,然后用计算器功能一个一个的加。后来一想,一个一个的加太费时间了,何不编一个Java类进行计算呢。然后说干就干,一分钟左右就编写出了一个简单的计算器功能的Java类,然后运行,结果完美的展现在控制台中,这时候我深刻的理解了,懒惰是推动科技进步的唯一动力。
下面是我的发票PDF文件,为了便于统计,格式我设置为了统一格式:¥金额-xx-xx.pdf
接着呢我就写了一个Java类,用来获取文件列表并累加金额。
import java.io.File;
public class Test {
public static void main(String[] args) {
//获取文件夹目录
File file = new File("F:\\1.document\\02发票\\202004");
//获取文件夹文件
File[] files = file.listFiles();
//声明变量,接收总数
Double total = 0.0D;
//遍历文件夹
for (File f : files){
//获取文件名
String name = f.getName();
//输出文件名
System.out.println(name);
//替换¥符号
String num = name.replace("¥", "");
//截取金额
num = num.substring(0, num.indexOf("-"));
//金额累加
total += Double.valueOf(num);
}
//输出总数
System.out.println("total = " + total);
}
}
运行界面
¥107.08-011001900711-54591076.pdf
¥117.39-011002000111-28036019.pdf
¥157.00-011002000111-28359824.pdf
¥23.90-012001900311-30150019.pdf
¥26.88-011001900611-66635263.pdf
¥26.89-011001900611-63934514.pdf
¥29.30-012001900211-40709446.pdf
¥292.75-xmail.pdf
¥31.90-011002000111-1876123.pdf
¥34.98-012001900311-76218936.pdf
¥37.69-013001910011-89079218.pdf
¥38.90-012001900311-75011025.pdf
¥47.90-012001900211-53928245.pdf
¥57.90-012001900311-74819329.pdf
¥62.30-012001900311-75098537.pdf
¥76.99-011002000111-1339142.pdf
¥91.04-011001900711-37569850.pdf
¥94.98-011001900711-50895191.pdf
total = 1355.77