package HomeWork.day06;
import java.util.Date;
import java.util.Objects;
public class Emp {
private String name;
private int age;
private String gender;
private int salary;
private Date hiredate;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
@Override
public String toString() {
return "Emp{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
", salary=" + salary +
", hiredate=" + hiredate +
'}';
}
public Emp() {
}
public Emp(String name, int age, String gender, int salary, Date hiredate) {
this.name = name;
this.age = age;
this.gender = gender;
this.salary = salary;
this.hiredate = hiredate;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Emp emp = (Emp) o;
return Objects.equals(name, emp.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
}
package HomeWork.day06;
import java.io.File;
import java.text.SimpleDateFormat;
public class Test01 {
public static void main(String[] args) {
File file = new File("myfile");
String name = file.getName();
long length = file.length();
System.out.println(name);
System.out.println(length);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(file.lastModified());
}
}
package HomeWork.day06;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件名:");
String input = scan.nextLine().trim();
File file = new File("test.txt");
boolean flag = file.exists();
if (!flag) {
file.createNewFile();
} else {
System.out.println("用户该目录已经存在");
int index = 0;
while (flag) {
index++;
file = new File("test_副本" + index + ".txt");
flag = file.exists();
}
file.createNewFile();
}
System.out.println("文件名:" + file.getName());
}
}
package HomeWork.day06;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Test03 {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件名:");
String input = scan.nextLine().trim();
File file = new File("test.txt");
boolean flag = file.exists();
if (!flag) {
file.createNewFile();
} else {
System.out.println("用户该目录已经存在");
int index = 0;
while (flag) {
index++;
file = new File("test_副本" + index + ".txt");
flag = file.exists();
}
file.createNewFile();
}
System.out.println("文件名:" + file.getName());
}
}
package HomeWork.day06;
import java.io.File;
public class Test04 {
public static void main(String[] args) {
File dir = new File("src");
printDir(dir);
}
public static void printDir(File dir) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isFile()) {
System.out.println("文件名:" + file.getAbsolutePath());
} else {
System.out.println("目录:" + file.getAbsolutePath());
printDir(file);
}
}
}
}
package HomeWork.day06;
import java.io.File;
import java.util.Scanner;
public class Test05 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件或目录名字:");
String input = scan.nextLine().trim();
File file = new File(input);
if (!file.exists()) {
System.out.println("目录或文件不存在");
return;
}
deleteFile(file);
}
public static void deleteFile(File file) {
if (file.isDirectory()) {
for (File f : file.listFiles()) {
deleteFile(f);
}
}
file.delete();
}
}
package HomeWork.day06;
import java.io.File;
public class Test06 {
public static void main(String[] args) {
File dir = new File("Demo");
printDir(dir);
}
public static void printDir(File dir) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isFile()) {
System.out.println("文件名:" + file.getAbsolutePath());
}
}
}
}
package HomeWork.day06;
import java.io.File;
import java.util.Scanner;
public class Test07 {
public static void main(String[] args) {
}
public void copy1(String name) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要创建的目录的名字:");
String dirName = scanner.nextLine();
File dir = new File(dirName);
if (!dir.exists()) {
dir.mkdir();
} else {
int index = 1;
while (true) {
name = dirName + "_copy" + index;
System.out.println(name);
dir = new File(name);
if (!dir.exists()) {
dir.mkdir();
break;
}
index++;
}
}
System.out.println("目录创建完毕!");
}
public void copy2(String name) throws Exception {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要创建的文件的名字:");
String fileName = scanner.nextLine();
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
} else {
int index = 1;
name = fileName.substring(0, fileName.indexOf("."));
String postfix = fileName.substring(fileName.indexOf(".") + 1);
while (true) {
fileName = name + "_copy" + index + "." + postfix;
System.out.println(fileName);
file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
break;
}
index++;
}
}
System.out.println("文件创建完毕!");
}
}
package HomeWork.day06;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Test08 {
public static void main(String[] args) throws IOException {
RandomAccessFile raf = new RandomAccessFile("raf.dat", "rw");
raf.writeInt(Integer.MAX_VALUE);
raf.writeLong(Long.MAX_VALUE);
raf.seek(0);
int i = raf.readInt();
long l = raf.readLong();
System.out.println("int:" + i);
System.out.println("long:" + l);
raf.close();
}
}
package HomeWork.day06;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Test09 {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容,exit为退出");
RandomAccessFile raf = new RandomAccessFile("note.txt", "rw");
while (true) {
String line = scanner.nextLine();
if ("exit".equals(line)) {
break;
}
raf.write(line.getBytes());
}
System.out.println("再见!");
raf.close();
}
}
package HomeWork.day06;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) throws ParseException, IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入员工信息:");
String line = scanner.nextLine();
String[] infos = line.split(",");
String name = infos[0];
int age = Integer.parseInt(infos[1]);
String gender = infos[2];
int salary = Integer.parseInt(infos[3]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate = sdf.parse(infos[4]);
Emp emp = new Emp(name, age, gender, salary, hiredate);
RandomAccessFile raf = new RandomAccessFile(emp.getName() + ".emp", "rw");
raf.write(emp.toString().getBytes());
System.out.println("写出完毕!");
raf.close();
}
}
package HomeWork.day06;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Test11 {
public static void main(String[] args) throws IOException, ParseException {
Test11 t = new Test11();
File dir = new File(".");
List<Emp> list = t.loadEmp(dir);
Collections.sort(list, new Comparator<Emp>() {
public int compare(Emp e1, Emp e2) {
return e1.getAge() - e2.getAge();
}
});
for (Emp e : list) {
System.out.println(e);
}
}
public List<Emp> loadEmp(File dir) throws IOException, ParseException {
List<Emp> list = new ArrayList<Emp>();
File[] emps = dir.listFiles(new FileFilter() {
public boolean accept(File file) {
return file.getName().endsWith(".emp");
}
});
for (File file : emps) {
list.add(parseEmp(file));
}
return list;
}
public Emp parseEmp(File file) throws IOException, ParseException {
RandomAccessFile raf = new RandomAccessFile(file, "r");
byte[] buf = new byte[(int) file.length()];
int len = raf.read(buf);
String info = new String(buf, 0, len);
String[] infos = info.split(",");
String name = infos[0];
int age = Integer.parseInt(infos[1]);
String gender = infos[2];
int salary = Integer.parseInt(infos[3]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate = sdf.parse(infos[4]);
Emp emp = new Emp(name, age, gender, salary, hiredate);
System.out.println("读取emp:" + emp);
return emp;
}
}
package HomeWork.day06;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Test12 {
public static void main(String[] args) throws IOException, ParseException {
Test11 t = new Test11();
File dir = new File(".");
List<Emp> list = t.loadEmp(dir);
System.out.println(list);
Map<String, Emp> map = new HashMap<String, Emp>();
for (Emp e : list) {
map.put(e.getName(), e);
}
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个员工名字:");
String name = scanner.nextLine();
if (map.containsKey(name)) {
Emp e = map.get(name);
Calendar calendar = Calendar.getInstance();
calendar.setTime(e.getHiredate());
calendar.add(Calendar.YEAR, 20);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(e);
System.out.println("入职20周年纪念日派对日期:" + sdf.format(calendar.getTime()));
} else {
System.out.println("查无此人");
}
}
}
package HomeWork.day06;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.URISyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
public class Test13 {
public static void main(String[] args) throws URISyntaxException, IOException, ParseException {
File file = new File(Test13.class.getClassLoader().getResource("day06/emp.dat").toURI());
RandomAccessFile raf = new RandomAccessFile(file, "r");
List<Emp> list = new ArrayList<Emp>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (int i = 0; i < 10; i++) {
String name = readString(raf, 32).trim();
int age = raf.readInt();
String gender = readString(raf, 10).trim();
int salary = raf.readInt();
String hiredate = readString(raf, 30).trim();
Emp e = new Emp(name, age, gender, salary, sdf.parse(hiredate));
list.add(e);
}
System.out.println("解析完毕!");
for (Emp e : list) {
System.out.println(e);
}
}
public static String readString(RandomAccessFile raf, int len) throws IOException {
byte[] data = new byte[len];
raf.read(data);
return new String(data, "UTF-8");
}
}