`
hwfantasy
  • 浏览: 20956 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java的简单文件操作

阅读更多
今天学习了java中关于文件的简单操作(主要是java.io.File类)。
1下面就是对于这个类中一些基本方法的简单试用:
//开始测试方法
		//1.判断应用程序是否可以执行此抽象路径名表示的文件的方法
		Boolean b =file.canExecute();
		System.out.println("能否执行:"+b);
		
		//2.判断应用程序是否可以读取此抽象路径名表示的文件
		Boolean b1 =file.canRead();
		System.out.println("能否读取:"+b1);
		
		//3.判断应用程序是否可以修改此抽象路径名表示的文件
		Boolean b2 =file.canWrite();
		System.out.println("能否修改:"+b2);
		
		System.out.println("---------传说中的分隔符---------");
		
		//4.按字母顺序比较两个抽象路径名
		//创建一个新的对象
		String s = "D:\\hw\\test1.txt";
		java.io.File f = new java.io.File(s);
		int i=file.compareTo(f);
		System.out.println("两个抽象路径名比较值i:"+i);
		
		System.out.println("---------传说中的分隔符---------");
		
		//5.创建新的空文件
		String str1 = "D:\\hw\\test2.txt";
		java.io.File file1 = new java.io.File(str1);
		try{
			Boolean b3 = file1.createNewFile();
			System.out.println("是否创建新的空文件:"+b3);
		}catch(Exception ef){
			ef.printStackTrace();
		}
		
		//6.在默认临时文件/指定目录中创建一个空文件
		String s1 = "test";
		String s2 = ".txt";
		String s3 = "D:\\hw";
		java.io.File f3 = new java.io.File(s3);
		try{
			java.io.File f2 = file.createTempFile(s1, s2, f3);
			String newfilename = f2.getName();
			System.out.println("创建的新文件的名称为:"+newfilename);
		}catch(Exception ef){
			ef.printStackTrace();
		}
		
		System.out.println("---------传说中的分隔符---------");
		
		//7.删除此抽象路径名表示的文件或目录
		//新建用于删除的文件
		//创建一个表示路径的字符串
		String path1 = "D:\\hw\\forDelet.txt";
		//创建一个file类的对象
		java.io.File dfile = new java.io.File(path1);
		try{
			Boolean b4 = dfile.createNewFile();
			System.out.println("用于删除的文件是否创建:"+b4);
		}catch(Exception ef){
			ef.printStackTrace();
		}
		Boolean b5 = dfile.delete();
		System.out.println("是否删除:"+b5);
		
		System.out.println("---------传说中的分隔符---------");
		
		//8.在虚拟机终止时,请求删除此抽象路径名表示的文件或目录
//		file.deleteOnExit();
		
		//9.测试此抽象路径名与给定对象是否相等
		Boolean b6 = file.equals(path);
		System.out.println("抽象路径名与给定对象是否相等:"+b6);
		
		//10.此抽象路径名表示的文件或目录是否存在
		Boolean b7 = file.exists();
		System.out.println("抽象路径名表示的文件或目录是否存在:"+b7);
		
		System.out.println("---------传说中的分隔符---------");
		
		//11.得到此抽象路径名的绝对路径名字符串
		String path2 = file.getAbsolutePath();
		System.out.println("得到的绝对路径名:"+path2);
		
		//12.得到抽象路径名的规范路径名字符串
		String path3 = null;
		try {
			path3 = file.getCanonicalPath();
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println("得到的规范路径名:"+path3);
		
		System.out.println("---------传说中的分隔符---------");
		
		//13.返回此抽象路径名指定的分区中未分配的字节数,大小和可用于虚拟机的字节数
		long l = file.getFreeSpace();
		long l1 = file.getTotalSpace();
		long l2 = file.getUsableSpace();
		System.out.println("此抽象路径名指定的分区中未分配的字节数:"+l);
		System.out.println("此抽象路径名指定的分区的大小:"+l1);
		System.out.println("此抽象路径名指定的分区中可用于虚拟机的字节数:"+l2);
		
		System.out.println("---------传说中的分隔符---------");
		
		//14.返回此抽象路径名父目录的路径名字符串
		String parent = file.getParent();
		System.out.println("此抽象路径名父目录的路径名:"+parent);
		
		//15.将此抽象路径名转换为一个路径名字符串
		String self = file.getPath();
		System.out.println("此抽象路径名自己的路径名:"+self);
		
		System.out.println("---------传说中的分隔符---------");
		
		//16.计算此抽象路径名的哈希码
		int i1 = file.hashCode();
		System.out.println("此抽象路径名的哈希码:"+i1);
		
		System.out.println("---------传说中的分隔符---------");
		
		//17.测试此抽象路径名是否为绝对路径名,一个目录,一个标准文件,一个隐藏文件
		Boolean bool = file.isAbsolute();
		Boolean bool1 = file.isDirectory();
		Boolean bool2 = file.isFile();
		Boolean bool3 = file.isHidden();
		System.out.println("此抽象路径名是否为绝对路径名:"+bool);
		System.out.println("此抽象路径名是否为一个目录:"+bool1);
		System.out.println("此抽象路径名是否为一个标准文件:"+bool2);
		System.out.println("此抽象路径名是否为一个隐藏文件:"+bool3);
		
		System.out.println("---------传说中的分隔符---------");
		
		//18.此抽象路径名表示的文件最后一次被修改的时间
		long lg = file.lastModified();
		SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd "); 
        String tsForm = formatter.format(new Date(lg));
		System.out.println("此抽象路径名表示的文件最后一次被修改的时间:"+tsForm );
		
		System.out.println("---------传说中的分隔符---------");
		
		//19.此抽象路径名表示的文件的长度
		long lg1 = file.length();
		System.out.println("此抽象路径名表示的文件的长度:"+lg1 );
		
		System.out.println("---------传说中的分隔符---------");
		
		//20.返回一个字符串数组
		String[] st = f3.list();
		for(int j=0;j<st.length;j++){
			System.out.println("返回的字符串数组元素"+j+":"+st[j] );
		}
		
		System.out.println("---------传说中的分隔符---------");
		
		//21.列出可用的文件系统根
		File[] file2 = file.listRoots();
		System.out.println("列出可用的文件系统根:"+file2[0]+"和"+file2[1] );
		
		//22.创建此抽象路径名指定的目录
		String strg = "D:\\hw\\ashidiei\\test.txt";
		java.io.File fil = new java.io.File(strg);
		Boolean bl3 = fil.mkdirs();
		System.out.println("能否创建此抽象路径名指定的目录:"+bl3 );

以下是上面程序的运行结果:
能否执行:true
能否读取:true
能否修改:true
---------传说中的分隔符---------
两个抽象路径名比较值i:-3
---------传说中的分隔符---------
是否创建新的空文件:false
创建的新文件的名称为:test1144645725744961767.txt
---------传说中的分隔符---------
用于删除的文件是否创建:true
是否删除:true
---------传说中的分隔符---------
抽象路径名与给定对象是否相等:false
抽象路径名表示的文件或目录是否存在:true
---------传说中的分隔符---------
得到的绝对路径名:D:\hw\test.txt
得到的规范路径名:D:\hw\test.txt
---------传说中的分隔符---------
此抽象路径名指定的分区中未分配的字节数:108894928896
此抽象路径名指定的分区的大小:251784011776
此抽象路径名指定的分区中可用于虚拟机的字节数:108894928896
---------传说中的分隔符---------
此抽象路径名父目录的路径名:D:\hw
此抽象路径名自己的路径名:D:\hw\test.txt
---------传说中的分隔符---------
此抽象路径名的哈希码:393268522
---------传说中的分隔符---------
此抽象路径名是否为绝对路径名:true
此抽象路径名是否为一个目录:false
此抽象路径名是否为一个标准文件:true
此抽象路径名是否为一个隐藏文件:false
---------传说中的分隔符---------
此抽象路径名表示的文件最后一次被修改的时间:2011-07-25
---------传说中的分隔符---------
此抽象路径名表示的文件的长度:256110
---------传说中的分隔符---------
返回的字符串数组元素0:ashidiei
返回的字符串数组元素1:test.txt
返回的字符串数组元素2:test1.txt
返回的字符串数组元素3:test1144645725744961767.txt
返回的字符串数组元素4:test1661996215436382998.txt
返回的字符串数组元素5:test2.txt
返回的字符串数组元素6:test3620162175496986765.txt
返回的字符串数组元素7:test5605088576018114347.txt
返回的字符串数组元素8:test8524408370878498663.txt
---------传说中的分隔符---------
列出可用的文件系统根:C:\和D:\
能否创建此抽象路径名指定的目录:false
2.文件操作的简单应用---统计器与文件搜索器
  1.文件统计的类
public void count(String path){
		//创建文件对象
		java.io.File f = new java.io.File(path);

		//判断文件是否存在此
		if(!f.exists()){
			System.out.println("文件或文件夹不存在");
		}else{
			//判断次文件是否为文件夹
			if(f.isDirectory()){
				foldernum++;
				//列出次文件夹下的所有的子文件目录
				String[] str = f.list();
				String st = f.getAbsolutePath();
				for(int i=0;i<str.length;i++){
					count(st+"\\"+str[i]);
				}
			}else{
				filenum++;
				size =size + f.length();
			}
		}
	}
	
	//显示数据的方法
	public void showdata(){
		System.out.println("文件夹数为:"+foldernum);
		System.out.println("文件数为:"+filenum);
		System.out.println("文件大小为:"+size);
	}

  2.文件搜索的类
public void search(String path,String s){
		//创建文件对象
		java.io.File f = new java.io.File(path);

		//判断文件是否存在
		if(!f.exists()){
			System.out.println("文件或文件夹不存在");
		}else{
			//f的绝对位置
			String st = f.getAbsolutePath();
			//判断次文件是否为文件夹
			if(f.isDirectory()){
				//列出次文件夹下的所有的子文件目录
				String[] str = f.list();
				for(int i=0;i<str.length;i++){
					search(st+"\\"+str[i],s);
				}
			}else{
				int key = st.indexOf(s);
				if(key!=-1){
					System.out.println("文件找到,文件位置在:"+st);
				}
			}
		}
	}

  3.测试它们的类
public static void main(String[] args) {
		
		//创建统计文件类的对象
		countFile cf = new countFile();
		//创建文件搜索类的对象
		searchFile sf = new searchFile();
		
		String path = "D:\\hw";
		String s = ".txt"; 
		
		cf.count(path);
		cf.showdata();

		sf.search(path, s);	
	}

结果如下所示:
文件夹数为:3
文件数为:8
文件大小为:256120
文件找到,文件位置在:D:\hw\test.txt
文件找到,文件位置在:D:\hw\test1.txt
文件找到,文件位置在:D:\hw\test1144645725744961767.txt
文件找到,文件位置在:D:\hw\test1661996215436382998.txt
文件找到,文件位置在:D:\hw\test2.txt
文件找到,文件位置在:D:\hw\test3620162175496986765.txt
文件找到,文件位置在:D:\hw\test5605088576018114347.txt
文件找到,文件位置在:D:\hw\test8524408370878498663.txt
分享到:
评论

相关推荐

    Java 7文件操作

    Java7里提供的新的Path类很熟悉为前提,如果你不熟悉这个类,这里就简单说一句,Path是文件系统里对位置的一个逻辑概念,例如c:\ 和../foobar.txt都是Path。

    java操作数据库及文件的简单工具

    java操作数据库及文件的简单工具;java操作数据库及文件的简单工具;java操作数据库及文件的简单工具; 数据迁移的时候,自己写的。在这里保存一份,以便以后使用。 因为简单,所以强大

    java简单文件管理系统源码

    设计一个文件管理方案,模拟一个简单的文件管理系统。要求目录结构为树型结构,目录下可以是目录,也可以是文件。通过该实验是学生可以深刻理解文件系统的概念、所涉及的基本操作及实现时的主要数据结构。&lt;br&gt;...

    java 二进制文件的读写操作

    java 二进制文件的读写操作使用FileInputStream FileOutputStream

    使用Java的文件操作实现一个简单的通讯录管理系统.txt

    这个代码实现了一个简单的通讯录管理系统,主要使用了Java的文件操作。 首先定义了一个Contact类,用于存储联系人的姓名和电话号码。 然后定义了一个AddressBook类,用于管理通讯录。在构造函数中,传入一个文件名...

    Java读写xml java 读写xml文件操作, 简单易懂

    java 读写xml文件操作, 简单易懂

    最简单易懂的一个java读写文件的操作

    自己写的一个最简单的 最易懂的 java读写文件的小例子 追加文件 回车换行等

    Java简单的文件IO程序

    java做的简单文件IO操作,实现文件的读写追加功能。 压缩包里面有程序运行时的截图。

    java的文件读取和写入操作

    改程序实现了简单的java的文件读取以及写入的操作

    Java计算机操作系统实验

    实验一设计一个有 N个进程共行的进程调度程序。 要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程,多级反馈队列调度算法这两种...从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

Global site tag (gtag.js) - Google Analytics