自学的java,英语不好,代码写的不规范,大神见了莫笑话
最近有做的一个项目的有特殊的需求,就写了个自动衍生文件夹的测试程序
配置文件path.properties
有a,b,c,f,e,f几个值,值的初始值都为一
//完全的原创,转载或使用请注释作者为:程都
public final static String peizhiwenjian = "配置文件路径";
//文件夹下最大文件个数,包括问价夹
public final static int maxsize =99;
public static String a;
public static String b;
public static String c;
public static String d;
public static String e;
public static String f;
public static void init() {
//读取配置文件
a = duqupeizhiwenjian.readValue(wenjian, "a");
b = duqupeizhiwenjian.readValue(wenjian, "b");
c = duqupeizhiwenjian.readValue(wenjian, "c");
d = duqupeizhiwenjian.readValue(wenjian, "d");
e = duqupeizhiwenjian.readValue(wenjian, "e");
f = duqupeizhiwenjian.readValue(wenjian, "f");
}
//basepath 传入的绝对路径
public static String getsavapath(String basepath) {
init();//读取配置文件
String path = a + "/" + b + "/" + c + "/" + d + "/" + e + "/" + f;
String file_path=basepath+returnsava;
File fe = new File(path);
if (!fe.exists() && !fe.isDirectory()) {
System.out.println("//不存在");
fe.mkdirs();//不存在则创建文件夹
//返回创建的文件夹路径,
return path;
} else {
//如果文件夹部位空返回文件夹中文件个数
int i = fe.list() != null ? fe.list().length : 0;
if (i < maxsize) {
return returnsava;
} else {
if (Integer.parseInt(f) < maxsize) {
f = (Integer.parseInt(f) + 1)+"";
System.out.println(f);
duqupeizhiwenjian.writeProperties("f", f);
getsavapath( basepath);
} else {
if (Integer.parseInt(e) < maxsize) {
e = (Integer.parseInt(e) + 1)+"";
f="1";
//写入更新后的值(也是更新了路径)
duqupeizhiwenjian.writeProperties("e", e);
//将值置为初始值
duqupeizhiwenjian.writeProperties("f", "1");
//调用自身,后面的方法
getsavapath( basepath);
} else {
if (Integer.parseInt(d) < maxsize) {
d = (Integer.parseInt(d) + 1)+"";
e="1";
f="1";
duqupeizhiwenjian.writeProperties("d", d);
duqupeizhiwenjian.writeProperties("e", e);
duqupeizhiwenjian.writeProperties("f", f);
getsavapath( basepath);
}
else{
if (Integer.parseInt(c) < maxsize) {
c = (Integer.parseInt(c) + 1)+"";
e="1";
f="1";
d="1";
duqupeizhiwenjian.writeProperties("c", "c");
duqupeizhiwenjian.writeProperties("e", e);
duqupeizhiwenjian.writeProperties("d",d);
duqupeizhiwenjian.writeProperties("f", f);
getsavapath( basepath);
}
else{
if (Integer.parseInt(b) < maxsize) {
b = (Integer.parseInt(b) + 1)+"";
e="1";
f="1";
d="1";
c="1";
duqupeizhiwenjian.writeProperties("b", b);
duqupeizhiwenjian.writeProperties("c", c);
duqupeizhiwenjian.writeProperties("e", e);
duqupeizhiwenjian.writeProperties("d", d);
duqupeizhiwenjian.writeProperties("f", f);
getsavapath( basepath);
}
}
}
}
}
}
return path;
}
}
}
//例:
e:/adb/1/1/1/1/1/1
e:/adb/1/1/1/1/1/2
e:/adb/1/1/1/1/1/3...
e:/adb/1/1/1/1/2/1
e:/adb/1/1/1/1/2/3...