java中IO写文件工具类
来源:互联网 发布:网络工程技术 编辑:程序博客网 时间:2024/06/05 02:52
下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂。
其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象,
这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的。
/** * 获取路径文件夹下的所有文件 * @param path * @return */public static File[] getKeywordFiles(String path) {File dir = new File(path);if (!dir.exists())return null;File[] fs = dir.listFiles();return fs;}/** * 删除文件夹 param folderPath 文件夹完整绝对路径 */private static void delFolder(String folderPath) {try {delAllFile(folderPath); // 删除完里面所有内容String filePath = folderPath;filePath = filePath.toString();java.io.File myFilePath = new java.io.File(filePath);myFilePath.delete(); // 删除空文件夹} catch (Exception e) {log.error(e);}}/** * 读取一个文件 * @param filePathAndName * @return * @throws IOException */public static List<String> readFile(String filePathAndName)throws IOException {FileInputStream fis = new FileInputStream(filePathAndName);InputStreamReader isr = new InputStreamReader(fis, "UTF-8");BufferedReader br = new BufferedReader(isr);LineNumberReader lnr = new LineNumberReader(br);List<String> returnValue = new ArrayList<String>();int cnt = 0;while (true) {cnt++;String tempStr = lnr.readLine();if (tempStr == null)break;if (tempStr.length() < 2)continue;returnValue.add(tempStr);}lnr.close();br.close();isr.close();fis.close();return returnValue;}/** * 读取一个文件,并排重后返回 */public static List<String> readFileNoDup(String filePathAndName)throws IOException {FileInputStream fis = new FileInputStream(filePathAndName);InputStreamReader isr = new InputStreamReader(fis, "UTF-8");BufferedReader br = new BufferedReader(isr);LineNumberReader lnr = new LineNumberReader(br);Set<String> set = new HashSet<String>();while (true) {String tempStr = lnr.readLine();if (tempStr == null)break;if (tempStr.length() < 2)continue;set.add(tempStr.trim());}lnr.close();br.close();isr.close();fis.close();List<String> returnValue = new ArrayList<String>(set.size());returnValue.addAll(set);return returnValue;}/** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件中添加内容,否则覆盖原有内容 */public static void writeFile(String filePathAndName, String fileContent,boolean flag) throws IOException {if (null == fileContent || fileContent.length() < 1)return;File file = new File(filePathAndName);if (!file.exists()) {file.createNewFile();}FileOutputStream fos = new FileOutputStream(filePathAndName, flag);OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");osw.write(fileContent + "\r\n");osw.flush();osw.close();}/** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件中添加内容,否则覆盖原有内容 */public static void writeFile(String filePathAndName,List<String> fileContent, boolean flag) throws IOException {File file = new File(filePathAndName);if (!file.exists()) {file.createNewFile();}FileOutputStream fos = new FileOutputStream(filePathAndName, flag);OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");for (String temp : fileContent)osw.write(temp + "\r\n");osw.flush();osw.close();}/** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件中添加内容,否则覆盖原有内容 */public static void writeFile(String filePath,String filename,List<String> fileContent, boolean flag) throws IOException {File file = new File(filePath);if(!file.exists()){boolean tempFlag = file.mkdirs();if(!tempFlag){log.error("文件夹"+filePath+"创建失败");return;}}file = new File(filePath,filename);if (!file.exists()) {file.createNewFile();}FileOutputStream fos = new FileOutputStream(filePath+filename, flag);OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");for (String temp : fileContent)osw.write(temp + "\r\n");osw.flush();osw.close();}
0 0
- java中IO写文件工具类
- java用IO流操作文件工具类(自己写的)
- Java IO(文件操作工具类)
- Java IO(文件操作工具类)
- Java读/写文件工具类
- Java IO读文件和写文件
- java IO 文件操作---写文件
- 文件操作工具类---使用IO流向磁盘写.txt文件和读.txt文件
- Java IO工具类
- java io 写文件,包括追加写文件
- java--IO流-文件的续写
- Java IO-基本文件写操作
- java-io-文件相关工具类(全)
- Java读取文件工具类——IO
- java中对IO文件的操作(读,写,增加一行,删除一行,删除文件)
- JAVA之IO技术中对指定存在的文件进行续写
- java IO工具类大全
- java-IO-BIO-工具类
- 给创新工场求职者的一封信
- 给出一个set的字符和一个正数k,求所有由这个set能组成长度为k的字符串集合 print-all-combinations-of-given-length
- Next Permutation
- ubuntu桌面系统安装
- 毕业后的五年拉开大家差距的原因在哪里?
- java中IO写文件工具类
- 学习SMBUS协议
- 教育部发布2013年全国教育事业发展统计公报
- 也来一篇关于Infragistics WPF Report的使用教程 (一)
- android判断phonegap是否联网动态加载 super.loadUrl网址
- dijkstra
- ubuntu软件环境搭建及构建安装(C语言)
- 如何跳出当前的多重嵌套循环
- Android_ActionBar