package com.itheima.file;
import java.io.File;
import java.io.IOException;
/**
* 进行文件相关操作:创建File对象
* File对象代表磁盘中的一个文件或者文件夹
*
* @Author itcast
* @Create 2024/5/13
**/
public class FileDemo01 {
//main方法相当于程序的入口
public static void main(String[] args) {
//创建一个文件对象,使用绝对路径创建File对象
File file1 = new File("E:\\code\\elegent\\.idea\\workspace.xml");
//创建一个文件对象,使用相对路径,相对路径,是从当前工程目录下找
File file2 = new File("itcast/abc.xml");
//判断文件是否存在,如果存在则返回true,否则返回false
boolean exists = file1.exists();
System.out.println("文件是否存在:" + exists);
//获得当前文件对象代表的是一个文件还是文件夹,如果是文件则返回true,否则返回false
boolean file = file1.isFile();
System.out.println("file1对象指代的是文件吗?" + file);
//判断是否是文件夹
boolean directory = file1.isDirectory();
//获得文件的大小,字节数
long length = file1.length();
System.out.println("file1文件的字节数:" + length);
//获得文件的路径,既可以返回绝对路径,也可以返回相对路径
String path = file2.getPath();
System.out.println("文件路径为:" + path);
//获得文件的绝对路径
String absolutePath = file2.getAbsolutePath();
System.out.println("文件绝对路径为:" + absolutePath);
File file3 = new File("E:\\code\\elegent\\.idea\\itheima.txt");
File file4 = new File("E:\\code\\elegent\\.idea\\itcast");
try {
//在磁盘中创建一个文件
boolean newFile = file3.createNewFile();
System.out.println("文件创建是否成功:" + newFile);
//创建一个文件夹
boolean mkdir = file4.mkdir();
System.out.println("文件创建是否成功:" + mkdir);
File file5 = new File("E:\\code\\elegent\\.idea\\itcast\\a\\b\\c");
//创建多层文件夹
boolean mkdirs = file5.mkdirs();
System.out.println("多级文件夹创建是否成功:" + mkdirs);
//上传一个文件
boolean delete = file3.delete();
System.out.println("删除文件是否成功:" + delete);
//只能删除文件或者空文件夹
boolean delete1 = file4.delete();
System.out.println("删除文件夹是成功:" + delete1);
boolean delete2 = file5.delete();
System.out.println("删除空文件夹是否成功:" + delete2);
//获得某个文件夹中一级文件名称
File file6 = new File("E:\\code\\elegent\\.idea");
String[] list = file6.list();
//遍历数组,增强for循环
for (String name : list) {
System.out.println("文件夹下的文件名称:" + name);
}
//获得指定文件夹下所有的一级文件对象数组
File[] files = file6.listFiles();
int size = files.length;//获得数组的长度
int i = 0;
while (i < size){
File f = files[i ++];
System.out.println("文件夹下的文件为:" + f.getName() + ",文件的大小为:" +
f.length() + ",文件的类型为:" + (f.isFile() ? "文件" : "文件夹"));
//i ++;
}
/*for (int i = 0; i < size; i++) {
//获得数组中的第i个元素
File f = files[i];
System.out.println("文件夹下的文件为:" + f.getName() + ",文件的大小为:" +
f.length() + ",文件的类型为:" + (f.isFile() ? "文件" : "文件夹"));
}*/
/*for(File f : files){
System.out.println("文件夹下的文件为:" + f.getName() + ",文件的大小为:" +
f.length() + ",文件的类型为:" + (f.isFile() ? "文件" : "文件夹"));
}*/
} catch (IOException e) {
System.out.println("创建文件时出错了,没有创建成功!!");
}
}
}
1_traning_baoding.zip
需积分: 0 169 浏览量
2024-05-14
17:26:46
上传
评论
收藏 47KB ZIP 举报
2401_83512347
- 粉丝: 0
- 资源: 1
最新资源
- 基于Java的本科探索学习项目设计源码 - 本科探索
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈