栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

文件基本操作一

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件基本操作一

/* * 文件操作类 * java IO * 使用File类进行文件的操作 * *
如果要进行所有文件以及文件内容的开发操作,应该使用java。io包完成 * java。io包里面一共有5个核心类 和一个核心接口 *
五个核心类:File InputStream OutputStream Reader Writer *
一个核心接口:Serializable * * 在整个javaa.io包里面
File类是唯一一个与文件本身操作有关的类,但是不涉及到文件的具体内容 * 所谓文件本身就是文件创建,删除等操作 *
如果要想使用File类,那么首先就需要通过它提供的构造方法定义一个要操作文件的路径 * 1 构造方法:public
File(String pathname) 设置完整路径 * public File(File parent, String
child) 设置父路径与子文件路径 在Android使用 * * *操作文件 * 创建文件 public boolean
createNewFile() throws IOException * 1 如果目录不能访问 * 2 如果现在文件重名 *
3 文件名称错误 就会抛异常 * 删除文件 public boolean delete() * * 判断文件是否存在
public boolean exists() * * 在 windows系统里面支持的是路径分隔符, Linux使用的是/

    • 在File类中提供有常量 public static final String separator 表示分隔符 * 在进行java.io操作的过程之中,会出现有延迟情况,因为现在的问题是java程序是通过JVM程序的调用 *
      操作系统的文件处理函数进行文件处理操作,所以中间会出现延迟情况 * * 创建包含有子目录的文件 *File file = new
      File(“D:”+File.separator+“demo”+File.separator+“test.txt”);
      *如果demo目录不存在,所以系统会认为此时的路径是不能够使用的,那么就会出现创建错误, *使用必须要想办法判断的父路径是否存在 * 找父路径:public String getParent() 返回此抽象路径名的父null的路径名字符串,如果此路径名未命名为父目录,则返回null。
      抽象路径名的父项由路径名的前缀(如果有)和路径名的名称序列中的每个名称组成, 除了最后一个。 如果名称序列为空,则路径名不会指定父目录。
      public File getParentFile()
      返回此抽象路径名的父null抽象路径名,如果此路径名未命名为父目录,则返回null。
      抽象路径名的父项由路径名的前缀(如果有)和路径名的名称序列中的每个名称组成, 除了最后一个。 如果名称序列为空,则路径名不会指定父目录。
      mkdir() mkdir 创建一级 mkdirs 创建多级路径 在File类里面还踢狗了有一系列取得内容的操作 1
      取得文件大小 public long length() 按照字节返回 判断是否是文件: public boolean
      isFile() 判断是否是目录: public boolean isDirectory() 返回最近一次修改日期 public
      long lastModified() 整个取得过程里面都是取得文件的相关操作,但是不包含有文件的内容
      整个磁盘上除了文件之外,还会包含有使用的目录,对于目录而言,最为常用的功能应该就是
      列出目录组成,在File类里面定义有如下的两个两个列出目录的方法: 1 列出目录下的信息 public String[]
      list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。 2 列出所有的信息以File类对象包装:public
      File[] listFiles(FileFilter filter)
import java.io.File;
import java.math.BigDecimal;
import java.security.PublicKey;
import java.text.SimpleDateFormat;
import java.util.Date;


public class wenjiancaozuo {

	public static void main(String[] args) throws Exception {
		// TODO 自动生成的方法存根
//		File file = new File("D:"+File.separator+"test.txt"); //设置文件的路径
//		if(file.exists())  /// 文件存在
//		{
//			file.delete();
//		}
//		else 
//		{
//			System.out.println(file.createNewFile());
//		}
//		File file = new File("D:"+File.separator+"demo"+
//						File.separator+"hello"+File.separator
//						+"nihao"+File.separator+"test.txt"); //设置文件的路径
//		if(!file.getParentFile().exists()) ///现在父路径不存在
//		{
//			/// 创建目录
//			file.getParentFile().mkdirs();   创建父路径  mkdir 创建一级
//		}
//		if(file.exists())  /// 文件存在
//		{
//			file.delete();
//		}
//		else 
//		{
//			System.out.println(file.createNewFile());
//		}
		
		File file = new File("D:"+File.separator+"demo"+
					File.separator+"WIN_20201207_16_29_20_Pro.jpg");
		if(file.exists())
		{
			System.out.println("是否是文件"+file.isFile());
			System.out.println("是否是目录"+file.isDirectory());
			System.out.println("文件大小"+(new BigDecimal((double)file.length()/1024/1024)).
					divide(new BigDecimal(1),2,BigDecimal.ROUND_HALF_UP));
			System.out.println("上次修改时间"+file.lastModified());///1607329760470
			System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
					format(new Date(file.lastModified())));

		
		}
		System.out.println(file.getPath());
		
		File file1 = new File("e:"+File.separator);
		if(file1.isDirectory())  /// 是否是目录
		{
			String result[] = file1.list();
			for (int i = 0; i < result.length; i++)
			{
				System.out.println(result[i]); /// 此时列出来是目录下的子目录或者名字  
			}
			
			System.out.println("---------------------------------------");
			File result1[] = file1.listFiles();
			for (int x = 0; x < result1.length; x++) 
			{
//				System.out.println(result1[x]);e:WinRAR电脑版.exe
				System.out.println(result1[x].getName()+"tttt"
						+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
						format(new Date(result1[x].lastModified()))+"tt"+
						(result1[x].isDirectory()?"文件夹":"文件")
						+"tt"+(result1[x].isFile()?(new BigDecimal((double)file.length()/1024/1024)).
								divide(new BigDecimal(1),2,BigDecimal.ROUND_HALF_UP):""));
			}
			
		}
		
		
		/// 实现递归操作
		
//		File file2 = new File("e:"+File.separator+"BaiduNetdisk");
		File file2 = new File("e:");
		print(file2);
		
	}
	
	public static void print(File file)
	{
		if(file.isDirectory())  /// 如果现在给定的是一个路径
		{
			File resultFile [] = file.listFiles();
			if(resultFile!=null)
			{
				for (int i = 0; i < resultFile.length; i++)
				{
					print(resultFile[i]);
				}
			}
			
		}
		System.out.println(file);
	}

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352256.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号