黑马程序员——File

------- android培训java培训、期待与您交流! ----------

File类对象可以代表一个路径,此路径可以是文件也可以是文件夹,该类方法可以对这个路径进行各种操作

File用来将文件或者文件夹封装成对象
方便对文件与文件夹的属性信息进行操作。
File对象可以作为参数传递给流的构造函数。

 

创建对象
给File类构造函数传一个String类型的路径就可以创建对象;也可以输入 目录,文件
路径分为两种:绝对路径,相对路径
绝对路径:从盘符开始,是一个固定的路径
相对路径:不从盘符开始,相对于某个位置。cmd则相对应于当前目录

 

File类方法

1,创建

boolean createNewFile()         创建文件,如果文件存在,则不创建返回false

boolean  mkdir();        创建文件夹(仅一级)
boolean  mkdirs();       创建文件夹(多级)

 

2,删除

boolean delete()            删除,文件可以直接删除,删除失败返回false

void deleteOnExit()         程序结束前删除文件指定文件

 

3,判断

boolean exists()        判断是否存在

boolean canExecute()              判断能否可执行文件

canRead();          是否可读

canWrite();   是否可写

boolean isDirectory();  是否是文件夹(先判断文件对象封装的内容是否存在)

boolean  isFile();       是否是文件(先判断文件对象封装的内容是否存在)

boolean isHidden();     是否是隐藏文件

boolean isAbsolute();   是否是绝对路径

 

4,获取信息

getFreeSpace();    获取当前盘符剩余空间

getTotalSpace();   获取当前盘符总空间
getUsableSpace();  获取当前盘符可用空间
getParent());    获取绝对路径中父级路径,如果获取的是相对路径,返回null。有上级目录则返回
getName());      获取文件名

getAbsolutePath();      获取绝对路径

getPath();      获取相对路径

long lastModified();         获取文件的最后修改时间

long length();           文件大小

 

renameTo();         改名,可以移动文件

File[] listRoots();    有效盘符

String[] list();         获取当前目录下的所有文件和文件目录,包括隐藏的。如果File封装的是一个文件,那么返回的数组为null

File[] listFiles();    获取的是当前目录下文件或者文件夹对应的对象。如果仅获取文件名称,就用list方法。如果还要获取文件的其他信息,最好使用listFiles。因为可以获取到文件对象,这样就可以通过文件对象的方法,获取到其他的内容如文件大小、修改时间等

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //列出指定目录下所有内容  
  2. class FileDemo{  
  3.     public static void main(String[] args) {  
  4.         File dir = new File("g:\\javajdk");  
  5.   
  6.         showDir(dir);         
  7.     }  
  8.   
  9.     public static void showDir(File dir){  
  10.         sop(dir);  
  11.   
  12.         File[] files = dir.listFiles();  
  13.   
  14.         for (int x=0; x<files.length; x++){  
  15.             if(files[x].isDirectory())  
  16.                 showDir(files[x]);  
  17.             else  
  18.                 sop(files[x]);  
  19.         }  
  20.     }  
  21.   
  22.     public static void sop(Object obj){  
  23.         System.out.println(obj);  
  24.     }  
  25. }  


函数自身调用自身,称为递归。

递归条件:

1,限定条件

2,注意递归次数,避免内存溢出

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
### 黑马程序员百度网盘资源汇总 以下是根据提供的引用内容整理的黑马程序员相关百度网盘资源链接: #### Java微服务项目《黑马头条》 可以访问以下链接获取《黑马头条》项目的相关内容,该资源由黑马程序员提供[^1]: - **链接**: [百度网盘](http://baidu.com) - **注意**: 请确认提取码是否有效。 #### 软件测试全套教程 对于软件测试的学习者,可以通过以下链接下载黑马程序员提供的软件测试全套教程[^2]: - **链接**: [百度网盘](https://pan.baidu.com/s/1wUT1jbCeViDRQfAdtO0PvQ) - **提取码**: `1234` #### Python基础教程 针对Python初学者,推荐使用以下链接获取黑马程序员最新的Python教学视频和资料[^3]: - **B站视频地址**: [哔哩哔哩](https://www.bilibili.com/video/BV1qW4y1a7fU?p=1&vd_source=9beb0a2f0cec6f01c2433a881b54152c) #### 综合学习资源包 如果需要更多综合性的编程学习资源,可以尝试通过以下链接查找所需材料[^4]: - **链接**: [百度网盘](https://pan.baidu.com/s/11oJ43fuq1NI0Hh7cCvrdSw?pwd=jc2s) - **提取码**: `jc2s` 请注意,在下载前务必核对链接的有效性和安全性。同时建议合理利用这些资源进行学习,并尊重版权方的规定。 ```python import os from urllib.request import urlretrieve def download_file(url, destination_folder="./downloads"): """Download a file from the given URL to the specified folder.""" if not os.path.exists(destination_folder): os.makedirs(destination_folder) filename = os.path.join(destination_folder, url.split('/')[-1]) try: urlretrieve(url, filename) print(f"File downloaded successfully: {filename}") except Exception as e: print(f"Error downloading file: {e}") # Example usage download_url = "https://example.com/resource.zip" download_file(download_url) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值