java 文件操作类_java FileUtil(文件操作类)

packagetools;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.List;importorg.bson.Document;/***@authorchenhuan001

**/

public classFileUtil {

String newline= "\r\n";//windows

/*** 写入文件,末尾自动添加\r\n

* utf-8 追加

*@parampath

*@paramstr*/

public static voidwriteLog(String path, String str)

{try{

File file= newFile(path);if(!file.exists())

file.createNewFile();

FileOutputStream out= new FileOutputStream(file); //true表示追加

StringBuffer sb = newStringBuffer();

sb.append(str+ "\r\n");

out.write(sb.toString().getBytes("utf-8"));//out.close();

}catch(IOException ex)

{

System.out.println(ex.getStackTrace());

}

}/*** 写入文件,末尾自动添加\r\n

*@parampath

*@paramstr*/

public static void writeLog(String path, String str, booleanis_append, String encode)

{try{

File file= newFile(path);if(!file.exists())

file.createNewFile();

FileOutputStream out= new FileOutputStream(file, is_append); //true表示追加

StringBuffer sb = newStringBuffer();

sb.append(str+ "\r\n");

out.write(sb.toString().getBytes(encode));//out.close();

}catch(IOException ex)

{

System.out.println(ex.getStackTrace());

}

}/*** 整个文件以string放回,添加\r\n换行

*@parampath

*@return

*/

public staticString readLogByString(String path)

{

StringBuffer sb=newStringBuffer();

String tempstr=null;try{

File file=newFile(path);if(!file.exists())throw newFileNotFoundException();

FileInputStream fis=newFileInputStream(file);

BufferedReader br=new BufferedReader(new InputStreamReader(fis, "utf-8"));while((tempstr=br.readLine())!=null) {

sb.append(tempstr+ "\r\n");

}

}catch(IOException ex) {

System.out.println(ex.getStackTrace());

}returnsb.toString();

}/*** 加入编码

* 整个文件以string放回,添加\r\n换行

*@parampath

*@return

*/

public staticString readLogByStringAndEncode(String path, String encode)

{

StringBuffer sb=newStringBuffer();

String tempstr=null;try{

File file=newFile(path);if(!file.exists())throw newFileNotFoundException();

FileInputStream fis=newFileInputStream(file);

BufferedReader br=new BufferedReader(newInputStreamReader(fis, encode));while((tempstr=br.readLine())!=null) {

sb.append(tempstr+ "\r\n");

}

}catch(IOException ex) {

System.out.println(ex.getStackTrace());

}returnsb.toString();

}/*** 按行读取文件,以list的形式返回

*@parampath

*@return

*/

public static ListreadLogByList(String path) {

List lines = new ArrayList();

String tempstr= null;try{

File file= newFile(path);if(!file.exists()) {throw newFileNotFoundException();

}

FileInputStream fis= newFileInputStream(file);

BufferedReader br= new BufferedReader(new InputStreamReader(fis, "utf-8"));while((tempstr = br.readLine()) != null) {

lines.add(tempstr.toString());

}

}catch(IOException ex) {

System.out.println(ex.getStackTrace());

}returnlines;

}public static ListreadDocsFromFile(String path) {

List str_docs =readLogByList(path);

List docs = new ArrayList();//System.out.println(str_docs.size());

for (int i = 0; i < str_docs.size(); i++) {

String str_doc=str_docs.get(i);//System.out.println(str_doc);

Document doc = null;try{

doc=Document.parse(str_doc);

}catch(Exception e) {

LogUtil.error("\nreadDocsFromFile 中异常, 文件:" + path + "\n第" + i + "行,\n" + str_doc);//好吧有一条没写完...

}if (null !=doc) {

docs.add(doc);

}

}returndocs;

}/*** 创建目录

*@paramdir_path*/

public static voidmkDir(String dir_path) {

File myFolderPath= newFile(dir_path);try{if (!myFolderPath.exists()) {

myFolderPath.mkdir();

}

}catch(Exception e) {

LogUtil.error("新建目录操作出错");

e.printStackTrace();

}

}/*** 创建文件

*@paramfile_path*/

public static voidcreateNewFile(String file_path) {

File myFilePath= newFile(file_path);try{if (!myFilePath.exists()) {

myFilePath.createNewFile();

}

}catch(Exception e) {

LogUtil.error("新建文件操作出错");

e.printStackTrace();

}

}/*** 递归删除文件或者目录

*@paramfile_path*/

public static voiddeleteEveryThing(String file_path) {try{

File file=newFile(file_path);if(!file.exists()){return;

}if(file.isFile()){

file.delete();

}else{

File[] files=file.listFiles();for(int i=0;i

String root=files[i].getAbsolutePath();//得到子文件或文件夹的绝对路径

deleteEveryThing(root);

}

file.delete();

}

}catch(Exception e) {

LogUtil.error("删除文件失败");

}

}/** 得到一个文件夹下所有文件*/

public static ListgetAllFileNameInFold(String fold_path) {

List file_paths = new ArrayList();

LinkedList folderList = new LinkedList();

folderList.add(fold_path);while (folderList.size() > 0) {

File file= newFile(folderList.peekLast());

folderList.removeLast();

File[] files=file.listFiles();

ArrayList fileList = new ArrayList();for (int i = 0; i < files.length; i++) {if(files[i].isDirectory()) {

folderList.add(files[i].getPath());

}else{

fileList.add(files[i]);

}

}for(File f : fileList) {

file_paths.add(f.getAbsoluteFile().getPath());

}

}returnfile_paths;

}public static voidmain(String[] args) {//String path = "C:\\Users\\chenhuan001\\workspace\\CrawlSinaBySelenium\\src";//List file_paths = getAllFileNameInFold(path);//for(String file_path : file_paths) {//System.out.println(file_path);//}

deleteEveryThing("C:\\Users\\chenhuan001\\Desktop\\testDelete.txt");//TODO Auto-generated method stub//List docs = readDocsFromFile("Data/user_program_data.txt");//System.out.println(docs.size());//for (int i = 0; i < docs.size(); i++) {//System.out.println(docs.toString());//}//mkDir("tmp_dir");//createNewFile("tmp_dir/new_file1.txt");//deleteEveryThing("save.arff");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值