1、判斷文本目錄或者文件是否存在,如不存在,可以進(jìn)行創(chuàng)建dir1.mkdir();刪除file.delete();
1 File dir = new File(TXTPATH); // TXTPATH 可以是一個目錄或者一個文件的路徑。
2 if (!dir.exists()) {
3 flag = false;
4 if (logger4onln.isInfoEnabled()) {
5 logger4onln
6 .info("[readtxtfile] the file directory isn't exist. ");
7 }
8 return;
9 }
2、 獲取該目錄下的文件名
String[] filename = dir.list();// 獲取該目錄下的文件名,形成一個數(shù)組
for (int i = 0; i < filename.length; i++)
{
//do something 可以通過遍歷每個文件名,進(jìn)行處理
}
3、這里順便記錄一個獲取日期的方法:
1 Calendar calendarYest = Calendar.getInstance(); // 前一天的日期時間
2 calendarYest.add(Calendar.DATE, -1); //將當(dāng)前時間的日 減一天。 通過//calendarYest.setTimeZone(new Date().getTime()) 來設(shè)置一個自定義時間。
3 int month = calendarYest.get(Calendar.MONTH); //獲取月份
4、通過正則表達(dá)式判斷文件名格式是否正確
Pattern pattern = Pattern.compile("" + KEY_FILE_NAME
+ "\\d{10}"); //這里的key_file_name是一種文本命名的固定格式
Matcher matcher = pattern.matcher(fileName);
if (matcher.find())
{
//do something.
}
5、一個移動文本的方法
1 /**
2 * 移動文本方法
3 */
4 public static boolean removeTo(String from, String to, String fileName) {
5 File file = new File(from, fileName);
6 if (file.isFile()) {
7 file.renameTo(new File(to, file.getName()));
8 return true;
9 }
10 return false; // 移動失敗
11 }
6、案例:需要每小時生成一個文本記錄,以小時為單位,超過一小時生成另外一個文本
SimpleDateFormat format=new SimpleDateFormat(rsb.getString("BRASAUTH.DATAFORMAT"));
//SimpleDateFormat format2=new SimpleDateFormat("hhmm");
String filename=rsb.getString("BRASAUTH.FILENAME");
String path=rsb.getString("BRASAUTH.TXTPATH");
File dir = new File(path);
if(!dir.exists())

{
//如果目錄不存在
dir.mkdir();
}

/**//*判斷文本,如已經(jīng)經(jīng)過一個小時,則另新建一個文本
*
*/
String fullPath=path+filename+format.format(new Date())+".txt";
FileOutputStream outStr = new FileOutputStream(new File(fullPath),true);
BufferedOutputStream buff = new BufferedOutputStream(outStr);
buff.write(authInfo.getBytes());