构造方法:
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;
}
}