java 创建一个文件夹,然后在这个文件夹里面创建文件

package com.test;

import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 测试创建一个文件夹,然后在这个文件夹里面创建文件<br/>
* 并往这个文件写东西<br/>
* 当这个文件夹的文件到达一定数量的时候<br/>
* 再创建另一个文件夹,然后同上操作
*
* @author Stany@baicai.com 2011-11-21
*
*/
public class TestMakeFile {

/**
* 在path目录下创建一个文件,并写入内容
* @param path
* @param content
*/
public static void makeFile(String path, String content){
try {
long time = System.currentTimeMillis();
//打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer = new FileWriter(path + "/" + time + ".html", false);
writer.write(content);
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 判断那个目录可以写入文件<br/>
* 传入一个路径,根据这个路径查看该文件夹下面所有的文件夹<br/>
* 并且判断其子文件夹下面的文件数量<br/>
* 同时返回一个可以写入文件的文件夹路径
* @param path
* @return
*/
public static String checkFiler(String path){
File file = new File(path);
//path目录下的所有目录及文件
File[] f = file.listFiles();
boolean b = false;
int tmp = 0;
//判断path目录下子文件夹的文件数量
for(int i=0;i<f.length;i++){
if(f[i].isDirectory()){
File[] ff = f[i].listFiles();
if(ff.length<10){
b = true;
return f[i].getAbsolutePath();
}
}
}
//如果该目录下没有文件夹,则创建一个
if(!b){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
String date = sdf.format(new Date());
String newPath = path + "/" + date;
file = new File(newPath);
file.mkdirs();
return newPath;
}
return "";
}

public static void main(String[] args) {
//        for(int i=0; i<100;i++){
//            System.out.println(i);
String content = "aaaaaaaaaaaa";
String path = checkFiler("F:/ajax");
makeFile(path,content);
try {
Thread.sleep(1*1000);
} catch (Exception e) {
e.printStackTrace();
}
}

//    }
}

文章来源于网络或者作者投稿,若有侵权请联系删除,作者:老钟,如若转载,请注明出处:https://www.laoz.net/166.html

(0)
老钟
上一篇 2011 年 11 月 22 日 上午 10:57
下一篇 2011 年 11 月 23 日 上午 10:31

相关推荐

  • 天猫发票问题,注意事项

    天猫发票这个基本的规则真的大家要熟读 往往犯错导致犯规的就是这个问题,下面和大家分享一下规则 开发票不收费 (不收税点不加钱)可以开普通发票,也可以开增值税发票买家付了多少钱就开多少钱,…

    闲话杂谈 2014 年 02 月 14 日
  • 5.1节后杂谈一篇,关于新驾照,扣12分的行为

    劳动节,休息了几天,本来有非常多事情要做的,但是因为有更加重要的事情,所以假期必须回家去办事! 这世道,汽车已经非常普遍了,所以无论如何,都尽量有个驾照吧!之前大学时代一直没有去考,后来工作本想在广州…

    2014 年 05 月 04 日
  • 匹配邮箱的工具类

    参考做了一个匹配邮箱的工具类,方便以后使用: package com.util; import java.util.List; import java.util.Map; /** * 通过正则匹配全文邮箱 * * @author Stany 2011-08-05 */ public class EmailUtil { /** * …

    闲话杂谈 2011 年 08 月 05 日
  • Eclipse中导入工程提示:invalid project description 解决办法

    打开工程目录下的 .project文件, 把<name>标签中的文字改成自己的工程名

    闲话杂谈 2012 年 02 月 08 日
  • java 日期与毫秒相互转化

    因需要,所以写了个日期转化成毫秒,把毫秒转化成日期的类 import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * 测试时间 * 把毫秒转换成 yyyy-MM-dd HH:mm:ss * @auth…

    闲话杂谈 2011 年 08 月 22 日
  • HashMap与ConcurrentHashMap性能对比

    目的是测试HashMap与ConcurrentHashMap性能 package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.Concurren…

    闲话杂谈 2011 年 08 月 30 日
  • java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    java中HashMap,LinkedHashMap,TreeMap,HashTable的区别 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到…

    闲话杂谈 2011 年 08 月 30 日
  • 多想一点,多做一点[转]

    1 先来看个例子: ‍‍。。。 2 再举个例子: 不知道男同学们有没有帮女同学在自动售货机买过饮料,买完以后顺手递给她,这一切都很自然。 那么你会不会在递给她之前,顺手帮她把瓶子盖拧开? 顺手把某个人的Hi发给对…

    闲话杂谈 2011 年 08 月 26 日
  • Eclipse快捷键大全(转载)

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,…

    闲话杂谈 2011 年 12 月 19 日
  • java.lang.IncompatibleClassChangeError: Found interface com.mysql.jdbc.Statement, but class was expected

    Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface com.mysql.jdbc.Statement, but class was expected 昨天升级程序,在启动一个java类进行测试的时候出现这个问题,最后发现…

    闲话杂谈 2012 年 02 月 29 日

评论列表(1条)

  • Kaleigh 2011 年 12 月 07 日 下午 7:57

    Cool! That's a clever way of lonokig at it!