Java中File类中常用方法详解

java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限。下面是对于File类中常用方法的程序演示。

[1] 演示程序一

package pack01;

import java.io.*;
import java.sql.Date;

public class FileTest {
  public static void main(String[] args) {

    File file1 = new File("d:/TEST/MyFile1.txt");  //该文件存在
    File file2 = new File("d:/TEST/MyFile2.txt");  //该文件不存在

    sop( file1.getName() );  //获取文件名
    sop( file1.getPath() );  //获取文件路径
    sop( file1.getAbsoluteFile() );  //获取文件的绝对路径,getAbsoluteFile返回File类对象
    sop( file1.getAbsolutePath() );  //获取文件的绝对路径,getAbsolutePath返回代表路径的字符串
    sop( file1.getParent() );  //获取所在的文件夹的名字

    sop( file1.renameTo(file2) );
    //将对象file1代表的文件MyFile1.txt重命名,并传送到对象file2指定的路径下
    //使用要求:对象file1代表的文件MyFile1.txt必须存在
    //....对象file2代表的文件所处的目录必须存在,但是文件本身MyFile2.txt不能存在

    sop( file1.exists() );  //判断文件是否存在
    sop( file1.isFile() );  //判断是否是一个文件
    sop( file1.isDirectory() );  //判断是否是一个文件夹
    sop( file1.canRead() );  //判断是否可读
    sop( file1.canWrite() );  //判断是否可写
    sop( new Date( file1.lastModified() ) );//最后修改时间(创建一个Date类对象输出)
    sop( file1.length() );  //文件的大小

  }

  public static void sop(Object obj) {
    System.out.println(obj);
    System.out.println();
  }
}

[2] 演示程序二

/*--------------------
createNewFile()----创建新的文件夹
delete()-----------删除已存在的文件或文件夹
mkdir()------------在已有的目录下创建新的目录
mkdirs()-----------创建一个完整的路径,即包括所有的上层目录
list()-------------获取目录下的所有内容,返回String类型数组
listFiles()--------获取目录下的所有内容,返回File类型数组
----------------------*/
package pack01;

import java.io.*;

public class FileTest02 {
  public static void main(String[] args) throws IOException {

    File file1 = new File("d:/TEST/MyFile1.txt"); //该文件已存在
    File folder1 = new File("d:/TEST/MyFolder1");  //该文件夹已存在
    File folder2 = new File("d:/TEST/MyFolder2");  //该文件夹已存在

    File folderNO = new File("d:/TESTNO/MyFolderNO");
    //文件夹TEST2和MyFolder2均不存在

    sop( file1.delete() );  //将对象file1代表的文件MyFile1.txt删除,返回值为true
    sop( file1.createNewFile() );  //创建对象file1代表的文件MyFile1.txt,返回值为true

    sop( folder1.delete() );  //删除对象folder代表的文件夹MyFolder,返回值为true
    sop( folder1.mkdir() );  //创建对象folder代表的文件夹MyFolder,返回值为true

    sop( folderNO.mkdir() );  //返回值为false
    sop( folderNO.mkdirs() );//返回值为true
    //当想要创建的文件夹的上层目录不存在时,要使用方法mkdirs();

    //list()方法返回String类型数组
    String s[] = folder2.list();
    for( int i=0; i<s.length; ++i ) {
      System.out.print(s[i] + " ");
    }
    System.out.println();

    //listFiles()方法返回File类型数组
    File f[] = folder2.listFiles();
    for( int i=0; i<f.length; ++i ) {
      System.out.print( f[i].getName() + " " );  //使用getName()方法获取File对象名字
    }

  }

  public static void sop(Object obj) {
    System.out.println(obj);
    System.out.println();
  }

}

注:希望与各位读者相互交流,共同学习进步。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java中File类的构造函数及其方法

    1.IO流(Input Output) IO流技术主要的作用是解决设备与设备之间的数据传输问题,比如:硬盘的数据--读取到-->内存中 内存的数据--读取到-->硬盘中 键盘上的数据--读取到-->内存中 2.IO流技术的运用场景 导出报表.上传大头照.下载.解析xml文件.....等等 (数据保存到硬盘,该数据可以做到永久性保存.数据一般以文件的形式保存到硬盘上.sun使用一个File类来描述文件或者文件夹) 3.File类的构造函数(方法) File(String pathname)

  • Java文件操作工具类fileUtil实例【文件增删改,复制等】

    本文实例讲述了Java文件操作工具类fileUtil.分享给大家供大家参考,具体如下: package com.gcloud.common; import java.io.*; import java.net.MalformedURLException; import java.net.URL; /** * 文件工具类 * Created by charlin on 2017/9/8. */ public class FileUtil { /** * 读取文件内容 * * @param is *

  • 详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

    简单看一下描述,例子最重要. 1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 2.getAbsolutePath(): 返回绝对路径,但不会处理"."和".."的情况 3.getCanonicalPath(): 返回的是规范化的绝对路径,相当于将getAbsolutePath()中的"."和".."解析成对应的正确的路径 第一个例子:(使用:".\\src\\test.txt&qu

  • java中表示一个文件的File类型详解

    前言 从本篇文章开始,我们将开启对 Java IO 系统的学习,本质上就是对文件的读写操作,听上去简单,其实并不容易.Java 的 IO 系统一直在完善和改进,设计了大量的类,也只有理解了这些类型被设计出来的意义以及各自的应用场景,才能提升文件 IO 的理解. 那么,第一步就是要解决如何表示一个文件的问题,Java 世界中「万物皆对象」,如何将一个实际磁盘文件或目录对应到一个 Java 对象则是我们首要的问题. Java 中使用 File 来抽象一个文件,无论是普通文件或是目录,都可对应于一个

  • 基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.

  • java中Vector类的常用方法详解

    目录 public void add(intindex, Eelement) public boolean addAll(intindex, Collection<? extends E>c) public void addElement(Eobj) public int capacity() public void copyInto(Object[]anArray) public E elementAt(intindex) public Enumeration<E> elemen

  • java 中file.encoding的设置详解

    java 中file.encoding的设置详解 昨天有人在讨论关于设置System的property,file.encoding 修改defaultcharset无效 Properties pps=System.getProperties(); pps.setProperty("file.encoding","ISO-8859-1"); 在java中,如果没有指定charset的时候,比如new String(byte[] bytes),都会调用Charset.d

  • Java中BigDecimal类的使用详解

    不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度.Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.BigDecimal所创建的是对象,我们不能使用传统的+.-.*./等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法.方法中的参数也必须是BigDecimal的对象.构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象. 一.BigDecimal转换取Double数据 假设我

  • Java文件操作之IO流 File类的使用详解

    File类概述 File类能新建.删除.重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流. 要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录. File对象可以作为参数传递给流的构造器. 常用构造器 ①public File(String pathname) 以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果是相对路径,则默认相

  • C#中ArrayList 类的使用详解

    目录 一:ArrayList 类简单说明 二:ArrayList 类的构造函数 三:ArrayList 类的属性 1:使用举例说明 四:ArrayList 类的常用方法 1: AddRange(ICollection)方法使用举例 2: ArrayList.Clone() 方法使用举例 3:ArrayList.Remove(Object) 使用举例 4:ArrayList.RemoveAt(Int32) 使用举例 5:ArrayList.RemoveAt(Int32) 使用举例 6:ArrayL

  • C#中backgroundWorker类的用法详解

    1.在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面停止响应.解决的方法就是新开一个线程,把耗时的操作放到线程中执行,这样就可以在用户界面上进行其它操作.新建线程可以用 Thread 类,可以实现多线程同时操作.简单的方法可以通过 BackgroundWorker 类实现. BackgroundWorker 可以用来更新UI界面,但是通常用来Progressbar(进度条)控件 例如更新UI private void Form1_Load(objec

  • C/C++中派生类访问属性详解及其作用介绍

    目录 保护继承 派生类成员的访问属性 总结 保护继承 由 protected 声明的成员称为 "受保护的成员", 或简称 "保护成员". 从用户的角度来看, 保护成员等价于私有成员. 保护成员可以被派生类的成员函数引用. 派生类成员的访问属性 4 种访问属性: 公用的: 类内和类外都可以访问 受保护的: 类内可以访问, 类外不能访问, 下一层的派生类可以访问 私有的: 类内可以访问, 类外不能访问 不可访问的: 类内和类外都不能访问 继承方式 基类中的成员 访问属性

  • Java日期时间类及计算详解

    目录 1. Java中与日期相关的类 1.1 java.util包 ① Date类 ② Calendar 日历类 roll 设置Calendar的容错性 set 1.2 java.time包 ① LocalDate 本地日期类 ② LocalTime 本地时间类 ③ LocalDateTime 本地日期时间类 ④ Instant 类 ⑤ Period 类 ⑥ Duration 类 2. 时间间隔计算 2.1 Period与Duration类 2.1.1 Duration 2.1.2 Period

  • 基于java涉及父子类的异常详解

    java中的异常涉及到父子类的问题,可以归纳为一句话:子类的构造函数抛出的异常必须包含父类的异常,子类的方法可以选择抛出"范围小于等于"父类的异常或不抛出异常. 1. 为什么构造函数必须抛出包含父类的异常? 在<thingking in java>中有这么一段话: 异常限制:当覆盖方法时,只能抛出在基类方法的异常说明中列出的那些异常 异常限制对构造器不起作用,你会发现StormyInning的构造器可以抛出任何异常,而不必理会基类构造函数所抛出的异常.然而因为必须构造函数必

  • java编程abstract类和方法详解

    抽象类和抽象方法常用知识点: (1)抽象类作为被继承类,子类必须实现抽象类中的所有抽象方法,除非子类也为抽象类. 也就是说,如果子类也为抽象类,可以不实现父类中的抽象方法.但是,如果有一个非抽象类 继承于抽象子类,需要实现抽象子类,抽象子类的抽象父类的所有抽象方法,新帐旧账一起算. (2)抽象类不能用final进行修饰. (3)抽象类不能被实例化,也就是说你用的时候不能通过new关键字创建. (4)抽象类中可以包含抽象方法和非抽象方法,抽象方法没有方法体,也就是没有具体实现, 只是定义了有什么功

随机推荐