package Test1; import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.nio.file.attribute.BasicFileAttributes; import java.util.Date; /** * Files类主要是用来对文件的 * @author zKF57533 */ public class TestFiles { /** * 非常方便的对文件进行移动操作 * 将tt.txt从pathFrom文件夹位置移动到pathTo文件夹下 * <h1>此方法可以和copy这个方法相比较,用法相同,其他增删改查操作请参考api即可</h1> * @throws IOException */ public static void moveFile() { Path pathFrom = Paths.get("e:/logs", "tt.txt"); //其中e:/logs/errorLog/tt.txt的tt.txt文件可以不存在,如果存在会被替换掉 Path pathTo = pathFrom.getParent().resolve("errorLog/dd.txt"); try { //文件的大小bytes System.out.println(Files.size(pathFrom)); //调用文件移动方法 Files.move(pathFrom, pathTo, StandardCopyOption.REPLACE_EXISTING); } catch (IOException e) { System.err.println("移动文件错误" + e.getMessage()); } } /** * 测试文件的属性信息 * 包括文件的修改时间、是否是文件夹、创建时间等 */ @SuppressWarnings("deprecation") public static void fileAttributes(){ Path path = Paths.get("e:/logs"); //1 System.out.println(Files.isDirectory(path, LinkOption.NOFOLLOW_LINKS)); //2 try { //获得文件的基础属性 BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class); System.out.println(attributes.isDirectory()); System.out.println(new Date(attributes.lastModifiedTime().toMillis()).toLocaleString()); } catch (IOException e) { e.printStackTrace(); } } /** * 创建文件夹 * 遍历文件夹下的文件 */ public static void createDir(){ Path path = Paths.get("e:/test/tte"); try { //创建文件夹 if(Files.notExists(path)){ Files.createDirectories(path); System.out.println("create dir"); }else{ System.out.println("dir exists"); } //在创建的文件夹下建几个txt文件,例如 //2.txt //ff 文件夹 //java.bat //_java.txt //遍历文件夹下面的文件 DirectoryStream<Path> paths = Files.newDirectoryStream(path); for(Path p : paths){ System.out.println(p.getFileName()); } System.out.println(); //创建一个带有过滤器,过滤文件名以java txt bat结尾的文件 DirectoryStream<Path> pathsFilter = Files.newDirectoryStream(path, "*.{java,txt,bat}"); for(Path p : pathsFilter){ System.out.println(p.getFileName()); } } catch (IOException e) { e.printStackTrace(); } } }
http://blog.csdn.net/zhangweiwtmdbf/article/details/7100004
相关推荐
在9.1.1版本中,Gemfire对性能和稳定性进行了优化,同时增加了新的特性,如更丰富的安全配置、改进的故障检测机制以及对Java 9的支持等。 集成Gemfire到SpringBoot应用中,通常需要以下几个步骤: 1. **添加依赖**...
在Java编程中,"java.io.FileNotFoundException: ***** (Too many open files)" 是一个常见的错误,意味着程序尝试打开的文件数量超过了操作系统的限制。这个错误通常出现在处理大量文件或长时间运行的程序中,尤其...
Java IO流是Java编程中处理输入输出流的高级特性,其目的是为了提供一个统一的方式来处理不同类型的数据,如文本文件、二进制文件等。Java的IO流是设计来实现数据传输的,主要使用java.io包下的各种类和接口。本篇...
4. **使用 Commons IO**:在保存文件时,`Commons IO`库提供了方便的方法,如`Files.copy()`,可以用来将上传的文件流安全地写入目标文件。 5. **异常处理**:在处理过程中,要捕获并适当地处理可能出现的异常,如...
Java的IO操作是Java编程中的基础且重要的一部分,它提供了对输入输出流的处理,使得程序可以与外部设备(如硬盘、键盘、显示器)进行数据交互。本代码库包含了Java进行基本IO操作的源代码,涵盖了文件的复制、删除、...
NIO.2(Java 7引入)进一步增强了异步IO和文件系统操作的能力。 8. **Channel与Buffer**: NIO的核心是Channel(通道)和Buffer(缓冲区)。Channel代表数据来源或目的地,而Buffer用于临时存储数据,提高了数据...
Java 早期版本的文件I/O操作功能相对有限,存在几个显著问题:不支持现代文件系统特性、API设计复杂且冗长、处理大文件和并发性能不足。为了解决这些问题,Java引入了`java.nio.file`库,这个库极大地提升了Java在...
Java NIO (New IO) 是从Java 1.4版本引入的一个新特性,提供了更高效和异步的I/O操作。例如,`java.nio.file.Files`类提供了简单易用的文件读写方法: ```java Path path = Paths.get("path/to/your/file.txt"); ...
在Java 7中,文件操作得到了显著的改进,引入了`java.nio.file`包,其中最重要的新特性之一就是Path类的出现。Path类是Java 7文件系统接口(FileSystem API)的核心部分,它提供了一种抽象的方式来表示文件或目录的...
Java 7进一步增强了NIO功能,引入了Path、Paths、Files等类,简化了文件操作,并引入了文件系统观察者(WatchService)。 通过深入学习和实践这些Java IO类和机制,开发者能够灵活地处理各种输入输出任务,无论是...
Java索引文件(Java Index Files)是Java开发中不可或缺的一部分,尤其在理解和使用Java文档时。Java 2 Platform Standard Edition 5.0 (J2SE 5.0) API规范是一个详细的技术指南,包含了该版本Java平台的核心类库,...
9. **NIO(New IO)**:相对于传统的IO流,NIO提供了哪些新特性?比如选择器(Selector)、通道(Channel)和缓冲区(Buffer)如何协同工作? 10. **异常处理**:在进行IO操作时,常见的异常有哪些?如何正确处理...
2. Files的常用方法:Files类提供了许多文件操作方法。 反射机制 1. 反射机制的优缺点:反射机制可以动态地调用类和方法,但也可能会增加系统的安全风险。 2. 反射机制的应用场景:反射机制可以用于动态地加载...
Java IO流是Java编程语言中处理输入输出操作的重要部分,它是数据传输的通道,允许程序在内存、硬盘、网络等不同设备间交换信息。在Java中,IO流分为字符流和字节流两大类,每类又分别有输入流和输出流四种类型,...
接下来,我们谈谈Java NIO(New IO),这是Java 1.4引入的一个新特性,提供了非阻塞I/O模型。与传统的IO相比,NIO更注重于通道(Channels)和缓冲区(Buffers)的使用,而非流。NIO的主要优点在于其非阻塞特性,可以...
通过学习《Scalable IO in Java》,开发者能够掌握如何在Java应用程序中有效地利用NIO进行高性能的I/O操作,这对于构建大型、高并发的网络服务,如Web服务器、数据库服务器等,具有重要的指导意义。不过,由于书籍为...
Java 1.4引入了NIO(非阻塞IO),提供选择器(Selector)和通道(Channel)等新特性,提高IO操作的效率和并发性能。 十、文件操作 - File类:提供文件和目录的基本操作,如创建、删除、重命名等。 - Files类:提供...
4. **NIO.2**:Java 1.7引入了NIO.2,进一步完善了非阻塞I/O功能,增加了文件系统操作的API,如`java.nio.file`包中的`Paths`、`Files`和`WatchService`,使得文件系统操作更加灵活和强大。 5. **反射和注解**:`...