JAVA输入输出(IO)之文件

计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。JAVA中对文件的操作主要是使用java.io.File类。这一篇博客也将围绕着File类进行讲解。

构造方法

方法名 说明
File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例
File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
File(URI uri) 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例

方法摘要

返回值 方法名 说明
boolean canExecute() 测试应用程序是否可以执行此抽象路径名表示的文件
boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件
boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件
int compareTo(File pathname) 按字母顺序比较两个抽象路径名
boolean createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
static File createTempFile(String prefix, String suffix) 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称
static File createTempFile(String prefix, String suffix, File directory) 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称
boolean delete() 删除此抽象路径名表示的文件或目录
void deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录
boolean equals(Object obj) 测试此抽象路径名与给定对象是否相等
boolean exists() 测试此抽象路径名表示的文件或目录是否存在
File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
File getCanonicalFile() 返回此抽象路径名的规范形式
String getCanonicalPath() 返回此抽象路径名的规范路径名字符串
long getFreeSpace() 返回此抽象路径名指定的分区中未分配的字节数
String getName() 返回由此抽象路径名表示的文件或目录的名称
String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null
String getPath() 将此抽象路径名转换为一个路径名字符串
long getTotalSpace() 返回此抽象路径名指定的分区大小
long getUsableSpace() 返回此抽象路径名指定的分区上可用于此虚拟机的字节数
int hashCode() 计算此抽象路径名的哈希码
boolean isAbsolute() 测试此抽象路径名是否为绝对路径名
boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录
boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件
boolean isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件
long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间
long length() 返回由此抽象路径名表示的文件的长度
String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
static File[] listRoots() 列出可用的文件系统根
boolean mkdir() 创建此抽象路径名指定的目录
boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
boolean renameTo(File dest) 重新命名此抽象路径名表示的文件
boolean setExecutable(boolean executable) 设置此抽象路径名所有者执行权限的一个便捷方法
boolean setExecutable(boolean executable, boolean ownerOnly) 设置此抽象路径名的所有者或所有用户的执行权限
boolean setLastModified(long time) 设置此抽象路径名指定的文件或目录的最后一次修改时间
boolean setReadable(boolean readable) 设置此抽象路径名所有者读权限的一个便捷方法
boolean setReadable(boolean readable, boolean ownerOnly) 设置此抽象路径名的所有者或所有用户的读权限
boolean setReadOnly() 标记此抽象路径名指定的文件或目录,从而只能对其进行读操作
boolean setWritable(boolean writable) 设置此抽象路径名所有者写权限的一个便捷方法
boolean setWritable(boolean writable, boolean ownerOnly) 设置此抽象路径名的所有者或所有用户的写权限
String toString() 返回此抽象路径名的路径名字符串
URI toURI() 构造一个表示此抽象路径名的 file: URI

使用示例

import java.io.File;
import java.util.Date;

public class FileDemo
{

   public static void main(String[] args)
   {
      // 实例化
      File file = new File("data.xls");
      System.out.println("文件名称:" + file.getName());
      System.out.println("文件绝对路径:" + file.getAbsolutePath());
      System.out.println("文件是否存在:" + file.exists());
      System.out.println("文件是否为文件夹:" + file.isDirectory());
      System.out.println("文件大小:" + file.length());
      System.out.println("文件最后修改日期:" + new Date(file.lastModified()));

      // .代表当前文件夹
      File directory = new File(".");
      // 列出文件夹内所有文件
      File[] files = directory.listFiles();
      if (files != null)
      {
         // 遍历文件数组
         for (File file2 : files)
         {
            System.out.println(file2.getName() + "   "
                  + (file2.isDirectory() ? "directory" : "file"));
         }
      }
   }
}

示例中使用了File常用的方法,没有使用的方法各位可以自己尝试一下看看效果。

时间: 2025-01-26 19:53:02

JAVA输入输出(IO)之文件的相关文章

JAVA输入输出(IO)之字节流

在之前的博客中,当介绍某个类的时候,我会将类的构造方法以及方法摘要通过表格展示出来,这些内容在JDKAPI上面都可以找到,所以从这一篇博客开始,这些方法将不再全部列出,会从中抽取一部分常用的方法. 言归正传,在上一篇博客<JAVA输入输出(IO)之文件>中介绍了File类的简单使用,如果我们要对文件进行读取.写入,仅有一个File是远远不够的,这一篇为大家介绍字节流的概念,通过本片博客,我们可以实现文件读取.写入.复制等.当然了输入输出流不仅仅可以用在文件的读写上面,还可以用于网络通信.进程通

JAVA输入输出(IO)之字符流

上一篇<JAVA输入输出(IO)之字节流>介绍了JAVA字节输入输出流的一些用法,字节流一般是用于读写二进制数据的,当我们要读些字符数据的时候,如文本文件,就显得有些麻烦.所以JAVA还提供了专门用于读写字符数据的字符流. 字符输入流 java.io.Reader用于读取字符流的抽象类.子类必须实现的方法只有 read(char[], int, int) 和 close().但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能. 方法摘要 返回值 方法名 说明 abstrac

JAVA输入输出(IO)之常用流

这一篇博客为大家介绍一下JAVA中常用的流的使用方法. 注:示例仅起到演示作用,不对异常做处理. ByteArrayInputStream.ByteArrayOutputStream ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read 方法要提供的下一个字节. ByteArrayOutputStream类实现了一个输出流,其中的数据被写入一个 byte 数组.缓冲区会随着数据的不断写入而自动增长.可使用 toByteArray()

java的io的问题 使用java输出文本到文本文件,但是打开文件没有得到输出的内容

问题描述 java的io的问题 使用java输出文本到文本文件,但是打开文件没有得到输出的内容 试了好多函数,但是就是没有最后输出到文本文件,程序没有报错,需要用的flush()也用了,最后关闭输出函数也关闭了,但是就是没有在文本文件中得到从java中输出的内容,还有什么地方需要注意的, 是我的路径表示错误了,应该都用的, 解决方案 把代码贴出来看看,------- 解决方案二: 贴出来代码看看吧!空口说白话啊 解决方案三: java io输出的编码问题 解决方案四: 没有代码没法看错误啊

Java IO流 文件传输基础_java

一.文件的编码 package com.study.io; /** * 测试文件编码 */ public class EncodeDemo { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { String s="好好学习ABC"; byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是

Java基于IO流读取文件的方法_java

本文实例讲述了Java基于IO流读取文件的方法.分享给大家供大家参考,具体如下: public static void readFile(){ String pathString = TEST.class.getResource("/simu").getFile(); try { pathString = URLDecoder.decode(pathString, "utf-8"); } catch (UnsupportedEncodingException e1)

彻底明白Java的IO系统

转自--豆豆技术网络(http://www.ddvip.net/program/java/index1/61.htm) 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:1.1 以字节为导向的stream以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息.以字节为导向的stream包括下面几种类型:

用JAVA将大图片文件转换出小的缩略图文件

缩略图|转换 用JAVA将大图片文件转换出小的缩略图文件,要求使用JDK1.4,大家可以将这段程序代码改为JavaBean,以便在WEB环境中使用,转换出的小缩略图效果不错! import javax.imageio.ImageIO;import javax.imageio.IIOException;import java.awt.image.BufferedImage;import java.awt.Image;import java.io.File;import java.awt.image

在Java中操作Zip文件,压缩/解压

压缩 可随意转载,但请注明出处及作者SonyMusic2003.05.28==========================================================================在Java中操作Zip文件,压缩/解压 package test.nothing; import java.io.*;import java.util.*;import java.util.zip.*; import com.beaconsystem.util.*; impor

装饰者模式(Decorator Pattern) Java的IO类的使用方法

Java的IO类使用装饰者模式进行扩展, 其中FilterInputStream类, 就是装饰者(decorator)的基类. 实现其他装饰者(decorator), 需要继承FilterInputStream类. 代码: /** * @time 2014年5月23日 */ package decorator.io; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream;