# est-spi-io **Repository Path**: est-spi/io ## Basic Information - **Project Name**: est-spi-io - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EST SPI IO [English Version](README.en.md) ## EST SPI IO 模块 est-spi-io 是 EST SPI 框架的 IO 模块,提供了资源抽象、资源加载和流工具等功能。 ### 核心功能 #### Resource - 资源接口 所有资源的统一接口,提供资源存在性检查、读取流、URL、文件等功能。 #### ResourceLoader - 资源加载器 资源加载器,支持从类路径、文件系统、URL加载资源,提供统一的资源加载接口。 #### FileResource - 文件资源 文件系统资源实现,支持从文件系统加载资源是? #### ClassPathResource - 类路径资源 类路径资源实现,支持从类路径加载资源。 #### URLResource - URL资源 URL资源实现,支持从网络URL加载资源。 #### StreamUtils - 流工具 提供流操作工具,包括流复制、字节数组转换、字符串转换、安静关闭等功能。 ### 快速开始 #### 使用ResourceLoader加载资源 ```java import ltd.idcu.est.spi.io.Resource; import ltd.idcu.est.spi.io.ResourceLoader; public class Example { public static void main(String[] args) throws Exception { Resource fileResource = ResourceLoader.loadFile("test.txt"); Resource classpathResource = ResourceLoader.loadClasspath("config.properties"); Resource urlResource = ResourceLoader.loadURL("https://example.com"); System.out.println("File resource exists: " + fileResource.exists()); System.out.println("Classpath resource exists: " + classpathResource.exists()); } } ``` #### 使用StreamUtils处理流 ```java import ltd.idcu.est.spi.io.Resource; import ltd.idcu.est.spi.io.ResourceLoader; import ltd.idcu.est.spi.io.StreamUtils; import java.io.InputStream; public class Example { public static void main(String[] args) throws Exception { Resource resource = ResourceLoader.loadClasspath("test.txt"); try (InputStream is = resource.getInputStream()) { String content = StreamUtils.copyToString(is); System.out.println(content); } } } ``` #### 直接使用各种资源实现 ```java import ltd.idcu.est.spi.io.FileResource; import ltd.idcu.est.spi.io.ClassPathResource; import ltd.idcu.est.spi.io.URLResource; import ltd.idcu.est.spi.io.Resource; import java.io.File; import java.net.URL; public class Example { public static void main(String[] args) throws Exception { Resource fileResource = new FileResource(new File("test.txt")); Resource classpathResource = new ClassPathResource("config.properties"); Resource urlResource = new URLResource(new URL("https://example.com")); System.out.println(fileResource.getDescription()); System.out.println(classpathResource.getDescription()); System.out.println(urlResource.getDescription()); } } ``` ### Maven 依赖 ```xml ltd.idcu.est.spi est-spi-io 1.0.0 ``` ### 许可证 MIT License