对程序语言设计者来说,设计一个令人满意的I/O系统,是件极艰难的任务。——摘自Think in java

对java而言,File表示的是文件或目录。但是我们知道文件和目录是不一样的,文件里面存放的是内容,目录存放的目录。那么java怎么区分呢?

通过File给我们提供的一些方法来区分的。

介绍一些File类:

1.File类提供了与平台无关的方法来对磁盘上的文件和目录进行操作。

2.File类直接处理文件和文件系统、

3.File类没有指定信息怎样从文件读取或向文件存储。

File类只是创建。没有办法给文件追加信息什么的。这个只能靠别的类去实现了。

File类常用的构造方式:

File(路径)

这里说一下路径怎么写?因为Windows的路径是用\来表示的,但是我们知道这个\在java里面表示的其实只是转意字符,所以如果直接写c:\aa.jsp这样肯定会报错。所以为了解决这个问题,我们可以这么写c:\\aa.jsp这样的。当然其实更好的解决办法是c:/aa.jsp,这样的好处是,除了windows系统别的系统的路径分隔符都是/,这么写的话就可以在别的系统也可执行了。

创建File文件的案例:一共三种常见构造方式:

第一种:File("路径")

采用File.pathSeparator种方式,这是最好的方法。

public class FileTest {
public static void main(String[] args) throws IOException {
 File file=new File("c:/vv.txt");
//这种方式针对的是LINUX  
// File file=new File(File.pathSeparator+"vv.txt");
System.out.println(file.createNewFile()); }
}

第二种:FIle(File file,String 路径),在D盘下的abc文件夹(事先已经存在了)下,创建aa.txt文件

import java.io.File;
import java.io.IOException; public class FileTest {
public static void main(String[] args) throws IOException {
File file=new File("d:/abc");
File file2=new File(file, "aa.txt");
System.out.println(file2.createNewFile());
//这么写也是可以的,这么写的前提是xyz目录已经存在了,不然会报错,找不到指定的路径
/*File file=new File("d:/abc");
File file2=new File(file, "xyz/aa.txt");
System.out.println(file2.createNewFile());*/
}
}

第三种:File(String path,String path2)

前面说过,File即表示目录也表示文件,有一些特定的方法会去识别这个File到底是目录呢还是路径呢?两个方法:1.isFile()   2.isDirectory().

File的目录方面的知识:

1.mkdir()和mkedirs()

那么怎么创建目录呢?

案例如下:在d:/abc/xyz路径下面创建一个新的路径hello

public class FileTest {
public static void main(String[] args) throws IOException { //d:/abc/xyz这个路径是已经存在的,hello这个路径是要我们创建的
File file=new File("d:/abc/xyz/hello");
file.mkdir(); }
}

补充:上面用的File的mkdir()的方法,局限性在于要创建hello这个目录,必须要保证d:/abc/xyz/这些路径已经是存在的。不然就报错。

但是如果用File的mkdirs()方法的话,就是/abc/xyz/这些路径不存在,也会一起把这些路径创建了。

2.public String[] list()这个方法可以返回抽象路径名表示路径中的文件名以及目录名。

01JavaIO详解_File类的更多相关文章

  1. unity3D游戏开发之详解Animation类和Animator类

    详解Animator类和Animation类 链接: http://wenku.baidu.com/link?url=SiaUYcdrNYjOYrWVDJSKGAYdJOntMTOhsVJtyBk2i ...

  2. 【python进阶】详解元类及其应用1

    前言 元类在python中是很重要的一部分,我将分两次去讲解元类及其应用,此篇为详解元类及其应用第一篇,下面开始今天的说明~~~ 1. 类也是对象 在⼤多数编程语⾔中,类就是⼀组⽤来描述如何⽣成⼀个对 ...

  3. 【python进阶】详解元类及其应用2

    前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...

  4. Unity3D - 详解Quaternion类(二)

    OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler ...

  5. Unity3D - 详解Quaternion类(一)

    一.简介 Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念.四元数的乘法不符合交换律.从明确地角度而言,四元数是复数的不可交 ...

  6. Kotlin——最详解的类(class)的使用

    在任何一门面向对象编程的语言里,类(class)是非常基础.但也是非常重要的一项组成,通俗的说就是万般皆对象,而所说的对象就是我们生成的类.Kotlin也是如此,下面详细为大家介绍Kotlin中的类的 ...

  7. IOC和AOP使用扩展之AOP详解实现类

    摘要:   “Depend on yourself” is what nature says to every man.  Parents can help you. Teachers can hel ...

  8. 详解 Arrays类

    请关注本人博文--<详解 普通数组 -- Arrays类 与 浅克隆> Arrays类: 概述: 针对数组进行操作的工具类.它提供了对于数组的值的排序.查找等功能. 现在,本人来展示一下A ...

  9. 详解 Collections类

    (请关注 本人"集合总集篇"博文--<详解 集合框架>) 有的同学可能会有这样的疑问 -- Collections类也是集合吗? 答曰:非也! 那为什么要讲解这个类呢? ...

随机推荐

  1. SharePoint部署工具SPSD

    SharePoint Solution Deployer,绝对属于必备的SharePoint工具之一了. 下载,解压这个工具,会有如下的目录(没有Assemblies和DeployGAC.bat)解压 ...

  2. Lucene总体架构

    Lucene总的来说是:• 一个高效的,可扩展的,全文检索库.• 全部用Java实现,无须配置.• 仅支持纯文本文件的索引(Indexing)和搜索(Search).• 不负责由其他格式的文件抽取纯文 ...

  3. android 跳转到系统设置界面的所有Intent

    Intent 的 意图: Intent intent = new Inetnt(Setings); Setings: 1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系 ...

  4. 【读书笔记】iOS-内存释放

    一,有些编程人员喜欢将内存清理的代码集中组织到函数中的某个地方,而另一些编程人员则喜欢在创建点自动释放对象,以免以后忘记释放这些对象.两种方法都是有效的. 二,id类型表示一个可以指向任何类型的对象的 ...

  5. IOS 网络浅析-(六 网络图片获取之三方SDWebImage)

    网络图片获取是大多数app所能用到的,由于实际app开发中原生api很少用到,在这里就先不介绍了,以后有时间会给大家介绍.这篇文章会给大家介绍一个三方-SDWebImage.SDWebImage 是一 ...

  6. iOS开发Facebook POP动效库使用教程

    如果说Origami这款动效原型工具是Facebook Paper的幕后功臣,那么POP便是Origami的地基.感谢Facebook开源了POP动效库,让人人都能制作出华丽的动效.我们只需5步,便能 ...

  7. javascript 自定义类型 属性,方法

    <html> <head> <script type="text/javascript"> function member(name,gende ...

  8. Google HTML/CSS代码风格指南(中文版)

    原文链接:http://wncbl.cn/posts/c8e10815/ 看一下没什么印象,那就写一遍吧. 背景 本文档定义了HTML/CSS的编写格式和风格规则.它旨在提高合作和代码质量,并使其支持 ...

  9. 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证

    背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...

  10. mmap 与 read/write

    mmap与read/write两条路线对文件的访问比较 我们知道无论是通过mmap或read/write访问文件在内核中都必须经过缓存, 当需要从文件读写内容时,都经过内存拷贝的方式与内核中的缓存进行 ...