JavaCore File类

构造方法:

        new File(String 完整路径)

        new File(String 父目录,String 文件名)

        new File(File 父目录对象,String 文件名)

        *.File.separator  => 路径分界符

        路径分界符 / 优先于 \

        *.相对路径  绝对路径

        相对路径:相对于程序认定的主目录出发定位我们要的文件

        绝对路径:从盘符或者根目录出发定位我们要的文件

        *挖掘机技术哪家强  中国山东找蓝翔

                蓝翔里面有小明.exe  请用兼容性最好的方式定位小明.exe文件

                a> File file = new File("中国\\山东\\蓝翔\\小明.exe");

                b>File file = new File("中国/山东/蓝翔/小明.exe");

                c>File file = new File("中国"+File+separator+"山东"+File.separator+"蓝翔"+File.separator+"小明");

                d>StringBuffer buff = new StringBuffer("中国");

                        buff.append(File.separator).append("山东").append("File.separator").append("蓝翔").append("File.separator").append("小明.exe");

                File file = new File(buff.toSring());

                e>File sd = new File("中国","山东");

                    File lx = new File(sd,"蓝翔");

                    File xm = new File(lx,"小明 .exe");

                f>File xm =  new File(new File(new File("中国","山东"),"蓝翔"),"小明.exe");

File类的方法:

        exists():判断File对象代表的文件或者目录是否已经存在 (File 对象既可以代表已经存在的目录或文件          也可以代表上不存在的目录或文件)

        isFile():判断File对象代表的是不是一个文件

        isDirectory():判断File对象代表的是不是一个mulu

        *:File对象既可以代表一个文件  又可以代表一个目录

        length():得到的文件的字符个数

                length        length()        size()        length()

                数组          字符串          集合           文件

                int               int                int              long

                *:只能对文件进行调用 不能对目录进行使用  否则将返回非预期结果

delete():删除File对象代表的文件或者目录

*:该方法不会经过回收站   直接删除

*:如果要删除的是个目录  则必须保证目录是空的

mkdirs():make directories = mkdirs = 创建多层目录结构

*:注意 File类当中还有一个方法名叫mkdir()    他只能创建一层不存在的目录结构

renameTo:重命名文件或者目录

        a.renameTo(c);

        a必须已经存在  而c必须尚不存在

        *:要重命名的源文件和目标文件可以在不同的目录结构

                从而实现移动剪切的功能

用于得到信息:

getName():得到文件或者目录的名字

getParent():得到文件或者目录的父目录

getAbsolutePath():得到文件或者目录的绝对路径  ***

时间相关:

setLastModified():设置文件最后一次修改时间

lastModified():得到文件最后一次修改时间

*:Java当中如何解析时间戳

        1.java.util.Date

                getYear()+1900  getMouth()    getDate()          getHours()        getMinutes()        getSeconds()

        2.java.util.Calendar

                获得实例:getInstance()

                设置时间:setTimeInMillis()

                获得数据:get(x)

                        1        2+1        5        11        12        13        7-1

        3:java.textSimpleDataFormat

                format():从long毫秒数 - 字符串

                parse()   +   getTime()   :从字符串   -   long毫秒数

/*
					周一到周五		周六和周日
	香格里拉:		1688			2188
	喜来登:			1288			2988
	希尔顿:			1988			1988

	已知 周老师生日是1987-09-18日 周老师从出生就住在某家酒店里
		问哪家酒店开销最高 周老师“只选贵的 不选对的!”

*/
import java.text.*;
import java.util.*;
public class BigOne{
	public static void main(String[] args)throws Exception{
		Map<Integer,String> temp = new TreeMap<>((a,b) -> a.equals(b) ? 1 : b.compareTo(a));
		temp.put(xl18z(1688,2188),"香格里拉");
		temp.put(xl18z(1288,2988),"喜来登");
		temp.put(xl18z(1988,1988),"希尔顿");

		temp.forEach((sum,name) -> System.out.println(name + " : " + sum));
	}
	public static int xl18z(int normal,int weekend)throws Exception{
		String checkIn = "1987-09-18";
		String checkOut = "2023-03-20";

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		long t1 = sdf.parse(checkIn).getTime();
		long t2 = sdf.parse(checkOut).getTime();

		long oneDay = 24L*60*60*1000;

		Calendar cal = Calendar.getInstance();
		int sum = 0;
		for(long today = t1;today<=t2;today+=oneDay){
			cal.setTimeInMillis(today);
			int day = cal.get(7);
			if(day == 1 || day == 7){
				sum += weekend;
			}else{
				sum += normal;
			}
		}
		return sum;

	}
}
import java.text.*;
import java.util.*;
public class BigOneAG{
	public static void main(String[] args)throws Exception{
		Hotel h1 = new Hotel("香格里拉",1688,2188);
		Hotel h2 = new Hotel("喜来登",1288,2988);
		Hotel h3 = new Hotel("希尔顿",1988,1988);
		List<Hotel> list = new ArrayList<>();
		Collections.addAll(list,h1,h2,h3);
		Collections.sort(list,(a,b) -> {
			Integer i1 = a.sum;
			Integer i2 = b.sum;
			return i2.compareTo(i1);
		});
		list.forEach((x) -> System.out.println(x.name + " : " + x.sum));

	}
}
class Hotel{
	String name;
	int normal;
	int weekend;

	public Hotel(String name,int normal,int weekend)throws Exception{
		this.name = name;
		this.normal = normal;
		this.weekend = weekend;
		jsjg();
	}
	int sum;
	public void jsjg()throws Exception{
		String checkIn = "1987-09-18";
		String checkOut = "2023-03-20";

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		long t1 = sdf.parse(checkIn).getTime();
		long t2 = sdf.parse(checkOut).getTime();

		long oneDay = 24L*60*60*1000;

		Calendar cal = Calendar.getInstance();
		for(long today = t1;today<=t2;today+=oneDay){
			cal.setTimeInMillis(today);
			int day = cal.get(7);
			if(day == 1 || day == 7){
				sum += weekend;
			}else{
				sum += normal;
			}
		}
	}
}
import java.text.*;
import java.util.*;
public class BigOneAGAG{
	public static void main(String[] args)throws Exception{
		Hotel h1 = new Hotel("香格里拉",1688,2188);
		Hotel h2 = new Hotel("喜来登",1288,2988);
		Hotel h3 = new Hotel("希尔顿",1988,1988);
		Map<Integer,Hotel> map = new TreeMap<>((a,b) -> a.equals(b) ? 1 : b.compareTo(a));
		map.put(h1.jsjg(),h1);
		map.put(h2.jsjg(),h2);
		map.put(h3.jsjg(),h3);

		map.forEach((sum,hotel) -> System.out.println(hotel.name + " : " + sum));
	}
}
class Hotel{
	String name;
	int normal;
	int weekend;

	public Hotel(String name,int normal,int weekend)throws Exception{
		this.name = name;
		this.normal = normal;
		this.weekend = weekend;
		jsjg();
	}
	public int jsjg()throws Exception{
		String checkIn = "1987-09-18";
		String checkOut = "2023-03-20";

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		long t1 = sdf.parse(checkIn).getTime();
		long t2 = sdf.parse(checkOut).getTime();

		long oneDay = 24L*60*60*1000;
		int sum = 0;
		Calendar cal = Calendar.getInstance();
		for(long today = t1;today<=t2;today+=oneDay){
			cal.setTimeInMillis(today);
			int day = cal.get(7);
			if(day == 1 || day == 7){
				sum += weekend;
			}else{
				sum += normal;
			}
		}
		return sum;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry鹿17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值