`
noble510520
  • 浏览: 56308 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

初学File类

 
阅读更多
对File类的基本方法的理解

今天刚开始学了File类
一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档
归纳:
File->java.util
File类的主要方法:

构造方法:
File(String pathname)
File(String parent,String child) 顾名思义 parent\child
File(File parent,String child) 顾名思义 parent\child
隐藏文件可以被获取也一定会被获取

1.创建:
(1)创建文件:
- createNewFile():boolean
在当前目录下创建抽象名称的文件
- createTempFile():boolean
在默认临时文件夹(在windows中为C:\Users\用户名\AppData\Local\Temp)下创建抽象名称的文件
- createTempFile(String prefix,String suffix):boolean
相当于createTempFile(String prefix,String suffix,null);
顾名思义创建prefix.suffix
在指定目录(dif所储存的抽象路径)创建文件
(2)创建文件夹:
- mkdir:boolean
创建最后一级目录(若parent目录不存在,则不创建,返回false)
- mkdirs:boolean
创建多级目录

2.获取信息
(1)获取文件的属性:
canxxxx:boolean (xxxx=[Execute,Read,Write])
length():long 文件夹的length为0
lastModified():long
(2)获取文件路径、名称:
getxxxxx:String (xxxxx=[Name,Parent,Path,AbsolutePath,CanonicalPath])
Name=pathname\child
Parent=parent\null
Path=parent\child
AbolutePath=绝对路径,从头到尾
CanonicalPath=绝对路径,但是会省略..
即使实际文件不存在,也能执行这个语句
getAbsolutePath与getCanonicalPath的区别
(3)获取文件
getxxxxx:File (xxxxx=[ParentFile,AbsoluteFile,CanonicalFile])
(4)获取有关数组
list():String[]
list(FilenameFilter):String[]
listFiles():File[]
listFiles(FilenameFilter):File[]
**当File对象为文件时,list返回的数组为null,因为这时对象里面没有东西,File对象不存在时,list返回的数组不为null,但是数组长度为0
**

3.判断
isxxxxx:boolean (xxxxxx=[Directory,File,Hidden,Absolute])
exists:boolean

4.操作
delete():boolean 执行语句了就删除 不管是否正在操作这个文件
deleteOnExit:void 在虚拟机退出时才删除
renameTo(File file):boolean 可用于重命名和剪切

几个陷阱:
1.将文件创建成目录,或将目录创建成文件
所以要选择好创建的方法

public static void main(String[] args)throws IOException{
    File files=new File("123.txt");
    //想要创建一个名为123.txt的文件
    files.mkdirs();
}

得到的结果:创建了一个名为123.txt的文件夹

还有一种情况:

public static void main(String[] args)throws IOException{
    File files=new File("C:\\csdn","123.txt");
    //想要创建C:\csdn\123.txt
    //!files.createNewFile();
    //但是不存在C:\csdn这个目录 这是会抛出IOException->RunTimeException
    files.mkdirs();
    //这句话可以执行,不会报错,但是把123.txt当成一个目录去创建
}

这种情况我还没有想到很好的解决方案
一种思路
将父目录封装成一个对象
创建一个方法
public static File mkFile(File file,String x){code}
然后利用File的重载构造方法File(File file,String child)

2.io流对File进行操作的时候,File被删除
所以就有了deleteOnExit()
因为对File进行操作完肯定要删掉他

3.isFile()和isDirectory()都出错
当这个抽象路径不存在时,即为一个不与文件(夹)连接的对象
此时isFile()和isDirectory()均返回false

File类的优点:
判断机制:
在IO中,创建文件,不论这个文件是否存在都会创建,如果存在即被覆盖,只有会丢失数据
但是File中只有执行了获取方法才会创建对象
利用exists方法判断,有这个文件(夹)我就不建,没有这个文件(夹)我就建立
compareTo(File)和length()方法可以用于排序,实现计算机中根据名称、大小、日期等等

对File的看法:
File这个类很神奇,可以把文件或文件夹封装成一个对象,即使不存在这个对象,也可以把抽象路径封装成对象(假装有这个对象)
正是因为假装有这个对象,才会与IO流的创建方法不同,不至于覆盖本来的文件

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    java的file类

    Java中的`File`类是Java.io包中的核心类,它用于表示文件和目录路径名的抽象表示。在Java中,`File`类并不是用来...对于初学者来说,经常查阅相关文档和示例代码是非常必要的,以确保能够正确、高效地使用`File`类。

    File类基本用法java-Eclipse

    对于初学者来说,理解和掌握`File`类的基本用法是非常重要的,因为它是Java编程中处理文件操作的基础。 在学习过程中,可能会遇到的一个常见问题是文件或目录的权限问题,确保你有正确的访问权限来执行相应的文件...

    java中IO流里面的关于File的讲解源码

    对于初学者来说,理解`File`类的使用和IO流的组合非常重要。首先,`File`类的构造函数可以接受一个字符串参数,该字符串表示文件或目录的路径。例如: ```java File file = new File("C:\\Users\\User\\Documents\\...

    Java对IO类File的操作

    在Java编程语言中,`java.io.File`类是处理文件和目录的核心类。它提供了创建、删除、重命名文件和目录以及获取文件属性等操作。...对于初学者来说,理解和掌握`File`类的使用是学习Java IO的基础。

    Android的File案例

    它是Java.io.File类的一个子类,因此,Android中的`File`类继承了Java的文件操作功能,并且针对移动设备进行了适当的优化。让我们深入了解一下`File`类在Android中的使用。 1. 文件对象的创建: 使用`File`类的...

    tongxunlu.rar_File类_Vc_tongxunlu_通讯录_链表

    **File类**: 在VC++中,`File`类是MFC(Microsoft Foundation Classes)库的一部分,提供了对文件的基本操作,如打开、关闭、读写等。通过继承自`CFile`类,我们可以创建自己的定制文件操作类,以满足特定需求。`...

    Codesys:文件读写(CAA File库)

    对于初学者而言,理解和掌握CAA File库的基本操作是十分重要的。 #### 二、CAA File库概述 CAA File库,全称为Common Automation Architecture File Access Library,是CODESYS提供的用于文件读写的标准库之一。与...

    220个JAVA初学者实例

    6. **输入/输出流**:学习File类、InputStream和OutputStream家族,以及BufferedReader和PrintWriter等用于文件读写的方法。 7. **IO流的高级使用**:掌握对象序列化与反序列化,以及使用FileReader、FileWriter...

    初学者java作业题目

    7. **IO流**:可能涉及文件的读写操作,学习使用File类、InputStream/OutputStream、Reader/Writer等进行文件操作。 8. **集合框架**:包括ArrayList、LinkedList、HashMap等,学习如何存储和操作数据集合,以及...

    java初学的一些小例子

    初学者可能需要了解File类,以及InputStream和OutputStream等流的概念。 8. **集合框架**:Java集合框架包括ArrayList、LinkedList、HashSet、HashMap等,它们用于存储和操作一组对象。 9. **数组**:数组是存储...

    C#_FILE操作

    在C#编程语言中,文件操作是至关重要的一个部分,尤其对于初学者而言,掌握基本的文件读写、创建、删除等操作是基础中的基础。本文将深入探讨C#中的文件操作,帮助你逐步理解并熟练运用这些知识。 首先,我们要知道...

    一个简单的JAVA应用程序(FileEditor)

    `java.io.File`类是JAVA中处理文件和目录的核心类。在FileEditor中,可能会用到`File`类的`exists()`方法检查文件是否存在,`createNewFile()`创建新文件,`delete()`删除文件,以及`getName()`获取文件名等方法。 ...

    08.会员版(2.0)-就业课(2.0)-File类与IO流.zip

    会员版(2.0)-就业课(2.0)-File类与IO流.zip"这个压缩包中,包含了一系列关于这两个主题的教程,旨在帮助初学者和有经验的开发者更深入地理解如何在Java环境中进行文件操作和流处理。 **File类**: File类是Java.io...

    FileMonitor 简单易用的文件操作监控工具

    5. **用户友好的界面**:FileMonitor的界面设计简洁明了,使得即使是计算机初学者也能快速上手,有效地降低了使用门槛。 **三、应用实例** 1. **故障排查**:当遇到软件运行异常或系统错误时,可以通过FileMonitor...

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...

    几个java实例,适合初学者

    Java的File类和FileInputStream/FileOutputStream等类提供了操作文件和目录的能力,这对于任何实际项目都是必要的。 每个RAR文件可能包含了针对以上某个或多个知识点的示例代码,通过运行和调试这些实例,初学者...

    java初学者学习源代码

    理解流的概念和如何使用File类进行文件操作对于实际项目开发非常实用。 10. **线程与并发**:Java提供了强大的多线程支持。学习如何创建和管理线程,理解同步和互斥的概念,有助于编写高效的多任务程序。 11. **...

    eclipse初学者使用

    ### Eclipse初学者使用指南 #### 实验目标与背景 本文档旨在帮助初学者掌握使用Eclipse集成开发环境(IDE)的基础知识与技能。Eclipse是一款非常流行的开源软件开发平台,支持多种编程语言,尤其是Java。对于Java...

    file_tool.zip

    "file_tool.zip" 是一个压缩包...对于初学者,理解并掌握这样的工具是提升开发效率的关键一步,同时也是学习系统级编程的重要实践。记住,良好的文件管理是任何软件项目成功的基础,"filetool" 就是为此目的而设计的。

    Visual C++ (with filetool.exe)

    **正文** Visual C++ 是微软开发的一款集成开发环境(IDE),专用于编写使用C++编程语言的应用程序。在本文中,我们将深入探讨...对于初学者和经验丰富的开发者来说,理解和掌握这些工具的使用方法都是非常有价值的。

Global site tag (gtag.js) - Google Analytics