`
zhangxiang390
  • 浏览: 215080 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java目录和文件操作整理

阅读更多

只是对常用的操作做了一点整理,希望对大家有些许的帮助:

public class TestFile {
	public static void main(String[] args) throws IOException {
		// 1.获取当前目录
		// 当前目录的URI
		System.out.println(Thread.currentThread().getContextClassLoader().
				getResource(""));
		System.out.println(ClassLoader.getSystemResource(""));
		// 当前目录绝对路径
		System.out.println(new File("").getAbsolutePath());
		System.out.println(new File("").getCanonicalPath());
		System.out.println(System.getProperty("user.dir"));
		
		// 2.文件的创建/删除
		String pwd=System.getProperty("user.dir");
		File f = new File(pwd, "1.txt");
		if (f.exists()) {
			f.delete();
			System.out.println(pwd + "\\1.txt 存在,已删除。");
		} else {
			f.createNewFile();
			System.out.println(pwd + "\\1.txt 不存在,已建立。");
		}
				
		// 3.目录的创建/删除
		pwd = pwd + "\\Sub"; // 将要建立的目录路径
		File d = new File(pwd); // 建立代表Sub目录的File对象,并得到它的一个引用
		if (d.exists()) { // 检查Sub目录是否存在
			d.delete();
			System.out.println("Sub目录存在,已删除");
		} else {
			d.mkdir(); // 建立Sub目录
			System.out.println("Sub目录不存在,已建立");
		}		
		
		// 4.获取目录下的所有子目录和文件
		File d1=new File(System.getProperty("user.dir")); // 建立当前目录中文件的File对象 
		File list[]=d1.listFiles(); // 取得代表目录中所有文件的File对象数组 
		System.out.println(pwd+" 目录下的内容:");
		for(int i=0;i<list.length;i++)
			if(list[i].isDirectory()){
				String tmp=String.format("%s       <DIR>   %s",
						new SimpleDateFormat("yyyy-MM-dd HH:mm").format(
						new Date(list[i].lastModified())).toString(),list[i].getName());
				System.out.println(tmp);
			}
			else if(list[i].isFile()){
				String tmp=String.format("%s %5s bytes   %s",
						new SimpleDateFormat("yyyy-MM-dd HH:mm").format(
						new Date(list[i].lastModified())).toString(),list[i].length(),
						list[i].getName());
				System.out.println(tmp);
				
			}

		// 5.写文件
		pwd=System.getProperty("user.dir");
		FileWriter fw = new FileWriter(pwd + "\\2.txt");
		fw.write("aaaa");
		fw.write("bbbb"+System.getProperty("line.separator"));
		fw.write("cccc");		
		fw.close();
		
		fw = new FileWriter(pwd + "\\2.txt", true); // append=true
		BufferedWriter bw=new BufferedWriter(fw); 
		bw.write("dddd");
		bw.newLine();
		bw.write("eeee");
		bw.close();		
		
		
		// 6.读文件
		FileReader fr = new FileReader(pwd + "\\2.txt");
		BufferedReader br = new BufferedReader(fr);
		String Line = br.readLine();
		while (Line != null) {
			System.out.println(Line);
			Line = br.readLine();
		}
		br.close();
		fr.close();
		
		readFromConsole();
		
	}
	
	// 从控制台读入
	public static void readFromConsole() {
		try {
			BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
			System.out.print("input sth:");
			String temp = in.readLine();
			System.out.print("your input is: \""+temp+"\"");
		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
	}
	
	// 简单的文件复制
	public void copyFile(String src,String dest) throws IOException{
        FileInputStream in=new FileInputStream(src);
        File file=new File(dest);
        if(!file.exists())
            file.createNewFile();
        FileOutputStream out=new FileOutputStream(file);
        int c;
        byte buffer[]=new byte[1024];
        while((c=in.read(buffer))!=-1){
            for(int i=0;i<c;i++)
                out.write(buffer[i]);        
        }
        in.close();
        out.close();
    }

	// 删除非空文件夹
	public static boolean delDir(String path) throws IOException{
		if(path == null || path == "")
			return false;
		
		File rootDir=new File(path);
		File[] fileLst=rootDir.listFiles();
		for(int i=0; i<fileLst.length; i++) {
			if(fileLst[i].isDirectory()){
				if(!delDir(fileLst[i].toString()))
					return false;
				System.out.println("dir: "+fileLst[i]+" is deleted.");
			}			
			else if(fileLst[i].isFile()){
				if(!fileLst[i].delete())
					return false;
				System.out.println("file: "+fileLst[i]+" is deleted.");
			}
		}
		if(!rootDir.delete())
			return false;
		return true;
	}	
}
 
分享到:
评论

相关推荐

    java文件操作大全[整理].pdf

    java文件操作大全[整理].pdf

    Java读取json文件并对json数据进行读取、添加、删除与修改操作

    开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。

    Java文件操作大全

    Java文件操作大全,本文来整理于网上资料,望对大家有用。

    java文件操作大全

    整理了两个多小时的“java文件操作大全”,我能在网上找到的最全的数据整理而成,谢谢各位的分享,在这里也把它分享给需要的人。

    java应用ftp操作文件

    最近在做ftp文件的上传与下载,基于此,整理了一下资料。本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的。。。

    我整理的Java虚拟机操作码

    前段时间读了《深入Java虚拟机第二版》一书,整理了Java虚拟机的操作码,也许对学习Java VM或者研究class文件结构的朋友会有用。

    Java封装继承多态实例以及文件流操作

    Java封装继承多态实例以及文件流操作,自己整理的东西,用了单态模式实现了多态,并且贯彻了OOP思想,用到了文件流的写入与读取,希望对大家有帮助

    Java 版本的 OFD文件转换助手

    项目未使用maven架构,整理了ofd转换所需的完整jar包,当前版本1.20.1 另附调用源码,可支持读取ofd文件以及 ofd文件的base64编码转换(主要用于从数据库中加载到的数据),代码结构简单明了,可根据所需业务自行...

    eclipse 创建java web项目整理文档.docx

    本文档介绍了使用 Eclipse 创建 Java Web 项目的步骤,包括安装 Apache-Tomcat 服务器、在 Eclipse 中添加服务器、创建 Dynamic Web 项目、配置 Servers、修改 Web.xml 文件、启动服务器和访问 Java Web 项目等。

    java基础类库开发包,工作5年精心整理_Java常用工具类源码

    工作5年精心整理_Java常用工具类源码 收集了java项目开中常用...文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、条形码 - 10.web Java常用工具类大全,工作5年精心整理(最新版)

    如何把一个java程序打包成exe文件.doc

    核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境...使用这几个工具,您也可以顺利的发布您的java程序!

    文件(java,txt等)批量转换格式(UTF-8之类)

    然后就各方参考,整理出了这一份代码,直接用,直接转码,直接可以将项目中的java文件一键转码,很方便。里面有个test看了就知道怎么操作了。会自动获取文件的编码格式,只需要输入文件路径,需要转码的格式,以及...

Global site tag (gtag.js) - Google Analytics