Java文件操作类封装
来源:互联网 发布:围棋 知乎 编辑:程序博客网 时间:2024/05/22 15:59
/*http://blog.csdn.net/tsyj810883979/article/details/6522669*/import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.SequenceInputStream; import java.net.URL; import java.util.ArrayList; public class FileManager { //实现文件复制功能,将src文件内容复制到des文件中 public static void copy(File src,File des){ try { FileReader fr = new FileReader(src); FileWriter fw = new FileWriter(des); int rs; while((rs=fr.read())!=-1){ fw.write(rs); } System.out.println("复制成功!"); fr.close(); fw.close(); }catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } //实现文件删除功能,将src文件删除掉 public static void delete(File src){ if(src.isFile()){ src.delete(); }if(src.isDirectory()){ File[] f= src.listFiles(); for(int i=0;i<f.length;i++){ if(f[i].isFile()){ f[i].delete(); }if(f[i].isDirectory()){ delete(f[i]); //递归 f[i].delete(); //将空文件夹删除,若不加这句,文件夹是删不掉的 } } } System.out.println("OK"); } //对单个文件进行重命名 public static void rename(File src,String newName){ File newFile = new File(newName); if(src.exists()){ src.renameTo(newFile); System.out.println("重命名成功!"); }else{ System.out.print("该文件不存在!"); } } //对目录里面的所有文件按照数字方式进行重命名 public static void rename(File src){ if(src.isDirectory()){ File[] f = src.listFiles(); for(int i=0;i<f.length;i++){ String path = f[i].getAbsolutePath(); //获得文件的绝对路径 //System.out.println(path); int index = path.lastIndexOf("."); //获得“.”在原字符串path中最后一次出现的位置 String s = path.substring(index); //截取字符串 int index2 = path.indexOf("//"); //获取制定字符串在原字符串中第一次出现的位置 String s2 = path.substring(0,index2+1); String newname = s2+i+s; f[i].renameTo(new File(newname)); } System.out.println("OK!"); }else{ System.out.println("wrong"); } } //列出src中的所有文件,返回一个List static ArrayList<String> filename = new ArrayList<String>(); //定义链表必须在listFile(File src)外 //否则使用递归是无法列出多级目录下的所有文件的 //写在函数里面的话,每次递归就会产生一个新的ArrayList<String> filename //这样得到的内容将会是最后一次生成的内容 public static ArrayList<String> listFile(File src){ File[] f = src.listFiles(); for(int i=0;i<f.length;i++){ String name = f[i].getName(); filename.add(name); if(f[i].isDirectory()){ listFile(f[i]); } } return filename; } //将一个序列化的类写到指定的文件中 public static void writeObjectToFile(User u,File f){ User user = null; try { FileOutputStream fos = new FileOutputStream(f); ObjectOutputStream obs = new ObjectOutputStream(fos); obs.writeObject(u); FileInputStream fis = new FileInputStream(f); ObjectInputStream ois = new ObjectInputStream(fis); user = (User)ois.readObject(); System.out.println(user.name); System.out.println(user.password); System.out.println(user.age); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //从文件中读出这个类 public static Object readObjectFromFile(File f){ User u = null; try { FileInputStream fis = new FileInputStream(f); ObjectInputStream ois = new ObjectInputStream(fis); u = (User)ois.readObject(); System.out.println(u.name); System.out.println(u.password); System.out.println(u.age); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return u; } //将文件组合在一个文件中 public static void compposite(File f1,File f2,File f3){ try { FileInputStream fis1 = new FileInputStream(f1); FileInputStream fis2 = new FileInputStream(f2); SequenceInputStream sis = new SequenceInputStream(fis1,fis2); FileOutputStream fos = new FileOutputStream(f3); int rs = 0; while((rs=sis.read())!=-1){ fos.write(rs); } System.out.println("文件合并成功!"); fis1.close(); fis2.close(); sis.close(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //显示指定网页的源代码 public static String getCode(String strUrl) { try{ URL url=new URL(strUrl); BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream())); String s=""; StringBuffer sb=new StringBuffer(""); while((s=br.readLine())!=null) { sb.append(s+"/r/n"); } br.close(); return sb.toString(); } catch(Exception e){ return "无法显示网页"+strUrl; } //return "无法显示网页"+strUrl; } /** * @param args */ public static void main(String[] args) { //rename(new File("D:/temp")); File src = new File("D://test"); File des = new File("D://2.txt"); File tmp = new File("D:/userinfo.txt"); File prc = new File("D:/1.txt"); try { if(!src.exists()){ src.createNewFile(); } if(!des.exists()){ des.createNewFile(); } } catch (IOException e) { e.printStackTrace(); } //System.out.println(getCode("http://www.hao1.com")); //compposite(des,tmp,prc); //readObjectFromFile(des); /*User user = new User("hao","123",20); writeObjectToFile(user,des);*/ /*ArrayList<String> f = listFile(src); for(int i=0; i<f.size(); i++) { System.out.println("文件名:"+f.get(i)); }*/ //rename(src); //listFile(src); //rename(des,"D://3.txt"); delete(src); //copy(src,des); } }
0 0
- Java文件操作类封装
- Java文件操作类封装
- Java文件操作类封装
- java封装文件操作
- JAVA文件操作封装工具类
- [C#]文件操作封装类
- .常用文件操作封装类
- C++ 封装文件操作类
- Java文件相关操作的封装
- Java 操作文本 封装类
- c#操作XML文件封装类
- oracle 文件操作封装
- ContentProvider 封装操作文件
- JAVA----操作XML文件的两个封装方法
- 封装Java数据库操作的类
- Java操作Word文档封装类
- 转载【封装Java数据库操作的类】
- Java操作Word文档封装类
- Notepad ++ 使用技巧
- Ubuntu 12.04 安装shiny 和 shiny-server
- GET与POST的区别,以及GET中文乱码
- bash脚本字符串处理
- Linux网络编程一步一步学-select详解
- Java文件操作类封装
- MES提升尚能太阳能生产管理水平(转)
- Ubuntu 中软件的安装、卸载以及查看的方法总结
- layout属性
- 数据库连接池-DBCP (Apache Database Connection pool)
- Windows SDK 7.1及DirectShow安装教程(vs2010)
- SAP CRM Links
- Linux管理日记(二)
- Linux下设置Eclipse编码为GBK进而支持中文