文件
什么是文件
相关记录或放在一起的数据的集合
文件一般存储在哪里
硬盘、光盘、软盘
Java程序如何访问文件属性
JAVA API :java.io.File 类
File类的常用方法
boolean exists( ) 判断文件或目录是否存在
boolean isFile( ) 判断是否是文件
boolean isDirectory( ) 判断是否是目录
String getPath( ) 返回此对象表示的文件的相对路径名
String getAbsolutePath( ) 返回此对象表示的文件的绝对路径名
String getName( ) 返回此对象表示的文件或目录的名称
boolean delete( ) 删除此对象指定的文件或目录
boolean createNewFile( ) 创建名称的空文件,不创建文件夹
long length() 返回文件的长度,单位为字节, 如果文件不存在,则返回 0L
public static void main(String[] args) {
//获取一个File类对象,这个对象指向计算机中F盘的demo.txt文件
File file1 = new File("F:\\demo.txt");
File file2 = new File("F:/test");
System.out.println(file1.exists());
System.out.println(file2.exists());
System.out.println("---------");
System.out.println(file1.isFile());
System.out.println(file2.isFile());
System.out.println(file2.isDirectory());
System.out.println(file1.isDirectory());
System.out.println("---------");
File file3 = new File("F:/a.txt");
//也就是说file指向的文件其所在的文件夹应该存在
try {
file3.createNewFile();
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(file1.getPath());//F:\demo.txt
System.out.println(file1.getAbsolutePath());//F:\demo.txt
System.out.println(file1.getName());
File file5 = new File("qqq.txt");
try {
file5.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(file5.getPath());//qqq.txt
System.out.println(file5.getAbsolutePath());//E:\myeworks\Day026输入输出流\qqq.txt
file2.delete();
file3.delete();
file5.delete();
System.out.println(file1.length());//0
}
2.项目改写
public static void main(String[] args) {
Food food1 = new Food(1, "黄焖鸡", 28.5, 0);
Food food2 = new Food(2, "酸菜鱼", 25.5, 0);
Food food3 = new Food(3, "佛跳墙", 55.5, 0);
Food food4 = new Food(4, "地三鲜", 12.5, 0);
ArrayList<Food> alFood = new ArrayList<Food>();
alFood.add(food1);
alFood.add(food2);
alFood.add(food3);
alFood.add(food4);
// 查看餐袋原始信息
View view1 = new View(1, "马力", 2, 13, "北大青鸟", food1.getDishMag(), 50, 0);
View view2 = new View(2, "马力", 2, 13, "清华青鸟", food1.getDishMag(), 50, 0);
ArrayList<View> alView = new ArrayList<View>();
alView.add(view1);
alView.add(view2);
a: for (int i = alView.size();;) {
// 判断餐袋中有多少菜品
Scanner sc = new Scanner(System.in);
System.out.println("欢迎使用“吃货联盟订餐系统”");
System.out.println("*************************************");
System.out.println("1.我要订餐");
System.out.println("2.查看餐袋");
System.out.println("3.签收订单");
System.out.println("4.删除订单");
System.out.println("5.我要点赞");
System.out.println("6.退出系统");
System.out.println("*************************************");
int input = sc.nextInt();
switch (input) {
case 1:
System.out.println("菜品序号\t\t菜品信息\t\t单价\t\t点赞数");
for (int j = 1; j <= 4; j++) {
System.out.println(alFood.get(j-1).toString());
}
// 向餐袋中输入数据
int num=i+1;// 订单序号
System.out.println("请输入您的姓名");// 用户姓名
String name=sc.next();
System.out.println("请输入你要点的菜品序号");
int dishInput = sc.nextInt();
String disNam=null;
double disPri=0.0;
switch (dishInput) {
case 1:
disNam =alFood.get(1).getDishMag();
disPri = alFood.get(1).getPrice();
break;
case 2:
disNam =alFood.get(2).getDishMag();
disPri = alFood.get(2).getPrice();
break;
case 3:
disNam =alFood.get(3).getDishMag();
disPri = alFood.get(3).getPrice();
break;
case 4:
disNam =alFood.get(4).getDishMag();
disPri = alFood.get(4).getPrice();
break;
}
// 输入餐品亻分数
System.out.println("请输入您需要几份");
int additionalInput = sc.nextInt();
double disTot = disPri * additionalInput;
if(disTot>50){
disTot-=6;
}
// 输入送餐时间
int timeInput=0;
for (;;) {
System.out.println("请输入送餐时间(12-20)");
timeInput = sc.nextInt();
if (timeInput >= 12 && timeInput <= 20) {
break;
} else {
System.out.println("时间输入错误,请重新输入");
continue;
}
}
//
System.out.println("请输入送餐地址");
String addressInput = sc.next();
System.out.println("订餐完成!");
View view3 = new View(num, name, additionalInput, timeInput, addressInput, food1.getDishMag(), disTot, 0);
alView.add(view3);
System.out.println("输入0返回主页");
int input_1 = sc.nextInt();
if (input_1 == 0) {
break;
}
case 2:
System.out.println("***查看餐袋***");
System.out
.println("序号\t\t订餐人\t\t餐品信息\t\t送餐日期\t\t送餐地址\t\t总金额\t\t订单状态");
for (int j = 0; j < alView.size(); j++) {
System.out.println(alView.get(j).toString());
}
continue;
case 3:
c: for (;;) {
System.out.println("***订单签收***");
System.out
.println("序号\t\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t\t总金额\t订单状态");
for (int j = 0; j < alView.size(); j++) {
System.out.println(alView.get(j).toString());
}
System.out.println("请输入您要签收的订单序号/输入0取消");
int seqInput = sc.nextInt();// 要签收的订单序号
if (seqInput == 0) {
break c;
}
alView.get(seqInput-1).setState(1);
}
System.out.println("输入0返回主页");
int input_3 = sc.nextInt();
if (input_3 == 0) {
break;
}
case 4:
System.out
.println("序号\t\t订餐人\t\t餐品信息\t\t送餐日期\t\t送餐地址\t\t总金额\t\t订单状态");
for (int j = 0; j < alView.size(); j++) {
System.out.println(alView.get(j).toString());
}
d: for (;;) {
System.out.println("请输入您要删除的订单序号/输入0返回");
int deleteInput = sc.nextInt();
if (deleteInput == 0) {
break d;
}
if (alView.get(deleteInput-1).getState() == 0) {
System.out.println("不可以删除未完成订单");
continue;
}
for (int j = deleteInput; j < alView.size(); j++) {
alView.get(j).setSequence(alView.get(j).getSequence()-1);
}
alView.remove(deleteInput-1);
System.out
.println("序号\t\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t\t总金额\t订单状态");
for (int j = 0; j < alView.size(); j++) {
System.out.println(alView.get(j).toString());
}
}
continue;
case 5:
e: for (;;) {
System.out.println("菜品序号\t\t菜品信息\t\t单价\t\t点赞数");
for (int j = 1; j <= 4; j++) {
System.out.println(alFood.get(j-1).toString());
}
System.out.println("请输入您要点赞的菜品/输入0返回主页");
int alikeInput = sc.nextInt();
if (alikeInput == 0) {
break e;
}
alFood.get(alikeInput-1).setAlike(alFood.get(alikeInput-1)
.getAlike() + 1);
}
System.out.println("再按一次确认返回");
int input_5 = sc.nextInt();
if (input_5 == 0) {
break;
}
case 6:
System.out.println("*******谢谢使用,欢迎下次光临*********");
break a;
default:
System.out.println("*******谢谢使用,欢迎下次光临*********");
break a;
}// switch
}// for
}
}