package edu.fjut.file;
import java.io.File;
import java.io.IOException;
/* 在整个IO包中,唯一表示与文件本身有关的类就是File类
* 使用File类可以进行创建或删除文件(夹)等操作,但不包括写数据到文件
*/
public class FileOperator {
public static void main(String[] args) throws IOException {
//在File类中,有一些常量并没有用大写,实际上这是java的历史遗留问题,在早期并没有这种命名规范
/*file.separator会根据不同操作系统选择相应的路径分隔符,这样java程序就具有可移植性.
* windows 使用"\"(注意要转义) linux 使用"/
* 实例化File类的对象,在d盘创建一个名为file的空文件,后缀名可有可无
* 如果写了后缀名,windows就会以一种默认的方式打开
*/
File file=new File("d:"+File.separator+"file");
if(file.exists()){//判断一个文件是否存在
file.delete();//删除文件
}
else{
file.createNewFile();//根据给定的路径创建文件,注意抛出异常
}
/* 从程序的运行结果中可以看出,所有的操作(创建、删除)并不会立马执行.
* 因为java是通过JVM与底层进行交互的,所以所有的操作都要经过JVM完成,
* 那么就有可能产生延迟.
*/
}
}
package edu.fjut.file;
import java.io.File;
//操作文件夹
public class DirectionOperator {
public static void main(String[] args) {
File file=new File("d:"+File.separator+"javase");
file.mkdir();//创建目录
/* 列出指定目录的全部文件
* 1.以字符串数组的形式返回(只是返回文件(夹)的名字):public String[[] list()
* 2.以File数组的形式返回:public File[] listFiles()
*/
String []files1=file.list();
for(String f:files1){
System.out.println(f);
}
/*输出
Oracle学习.txt
Oracle笔记.doc
上善若水.txt
新建文件夹
*/
File []files2=file.listFiles();
for(File f:files2){
System.out.println(f);
}
/*输出 列出了完整的路径,这样对于程序本身来说是很容易操作的
d:\javase\Oracle学习.txt
d:\javase\Oracle笔记.doc
d:\javase\上善若水.txt
d:\javase\新建文件夹
*/
}
}
package edu.fjut.file;
import java.io.File;
//给定一个目录,列出此目录的全部文件,包括子文件夹的文件
public class ListDirection {
public static void main(String[] args) {
//在使用File类指定路径的时候,尽量使用File.separator进行分割
File file=new File("d:"+File.separator+"javase");
print(file);
}
private static void print(File file){//递归调用
if(null!=file){//判断对象是否为空
if(file.isDirectory()){//是目录
File []files=file.listFiles();//列出全部文件
if(null!=files){//判断此目录能否列出,因为有一些目录不能访问.如果没有判断,可能会抛出NullPointerException
for(File f:files){
print(f);//因为可能存在子目录,所以继续判断
}
}
}
else{
System.out.println(file);//不是目录,输出路径
}
}
}
/* 输出
d:\javase\Oracle学习.txt
d:\javase\Oracle笔记.doc
d:\javase\上善若水.txt
d:\javase\新建文件夹\demo.html
*/
}
分享到:
相关推荐
Java中的`java.io.File`类是用于操作文件和目录的核心工具。它不涉及实际的数据流操作,而是专注于文件和文件系统的元数据。`File`对象提供了丰富的功能,包括创建、删除、重命名文件以及检查文件或目录的存在状态,...
相较于Java标准库中的`java.io.File`类提供的`copy()`方法,`commons-io`的`FileUtils.copyFile()`更简单易用,且异常处理更简洁。 总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO...
在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个强大的工具,它提供了一种统一的方式来处理不同类型的...
Java IO API提供了一套丰富的类和接口,使得开发者可以有效地读取、写入数据,无论是从硬盘、网络、内存还是其他数据源。 首先,Java IO系统基于流(Stream)的概念,分为字节流和字符流两大类。字节流处理单个字节的...
在Java中,`java.io.File`类是进行文件操作的基础。你可以创建、删除、重命名文件,以及获取文件的基本信息,如大小、最后修改时间等。例如,创建一个File对象: ```java File file = new File("example.txt"); ```...
Apache Commons IO是一个非常重要的Java库,它提供了大量的实用工具类,用于处理输入/输出操作。在标题中提到的"commons-io-2.11.0-bin.zip"是Apache Commons IO库的一个二进制发行版,版本号为2.11.0。这个压缩包...
Java还提供了File类来处理文件操作,如创建、删除、重命名文件以及获取文件属性。RandomAccessFile类则支持对文件的随机访问,允许在文件的任意位置读写数据。对于网络I/O,Socket和ServerSocket是主要的类,用于...
这些类主要位于java.io包中,但也有其他相关包如java.nio(非阻塞I/O)和java.net(网络I/O)等。 核心的Java IO组件包括: 1. **流(Stream)**:Java IO中的核心概念,流是数据的序列,可以是字节流或字符流。...
Apache Commons FileUpload和Commons IO两个库是Java中处理文件上传的关键组件,它们为SpringMVC和MyBatis这样的框架提供了强大的支持。本篇文章将深入探讨这两个库以及它们在图片处理中的作用。 首先,`commons-...
Apache Commons IO是一个Java库,提供了大量的实用工具类,用于处理基本的IO操作,如读写文件、复制流、处理路径等。而Apache Commons FileUpload则专门用于处理HTTP请求中的多部分数据,即文件上传。 二、Servlet...
Apache Commons IO 是一个Java库,专门用于处理输入/输出流操作。这个库包含了大量实用类和方法,使得在处理文件、字节流、字符流、过滤器和转换时更加便捷。"commons-io-2.7-bin.zip"是Apache Commons IO库的版本...
本资料“java-IO.rar”旨在详细阐述Java IO中的核心概念和重要类,特别适合初学者理解掌握。 1. **流的概念** Java中的IO操作基于流(Stream)的概念,流是数据的序列,可以是字节流或字符流。流的方向分为输入流...
在Java中,实现文件拷贝可以通过使用`java.io`包中的`FileInputStream`和`FileOutputStream`类来完成。这两个类分别代表了文件的输入流和输出流。以下是一个简单的文件拷贝程序示例: ```java import java.io.*; ...
在Java中,所有负责输入输出的类都位于`java.io`包内。这些类主要用于进行数据的输入输出操作。 2. **流的分类** - 按照数据流向可分为: - **输入流**:从源读取数据。 - **输出流**:向目的地写入数据。 - ...
在本章中,我们将深入探讨Java IO中的File类以及相关的概念和技术。 首先,File类是Java中最基本的文件和目录操作类。它允许我们创建、删除、重命名文件和目录,但不直接支持读写文件内容。例如,我们可以使用`new ...
Apache Commons IO库的设计遵循了Java的“实用程序类”模式,所有的工具类都是静态的,没有实例化的需求。此外,它还考虑了线程安全,使得在多线程环境下也能正常工作。由于其强大的功能和易用性,Apache Commons IO...
Java 中的 IO 流可以分为四个顶层类: * 字节流:处理单元为 1 个字节,操作字节和字节数组 * 字符流:处理单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串 这四个类为抽象类,不能直接用来创建...
Apache Commons IO库是Java开发者必备的工具包之一,尤其是其中的commons-io-2.3.jar版本,它为处理输入/输出流、文件、字符集转换、线程安全的读写操作等提供了大量实用且高效的类和方法。这个jar包在实际开发中...
在这个项目中,我们可能会用到`java.io`包下的类,如`File`, `FileReader`, `FileWriter`, `BufferedReader`, `BufferedWriter`等,它们用于对文件进行操作。 2. **控制台输出**: 在标签中提到了“JAVA IO 控制台...
Java IO流分为字节流和字符流两大类,字节流处理的是8位的字节数据,而字符流处理的是16位的Unicode字符。字节流又分为输入流(InputStream)和输出流(OutputStream),字符流则有Reader和Writer。Java IO流还分为...