Class FileSystemResource

java.lang.Object
cloud.opencode.base.io.resource.FileSystemResource
All Implemented Interfaces:
Resource

public final class FileSystemResource extends Object implements Resource
File System Resource Implementation 文件系统资源实现

Resource implementation for resources from the local file system. Wraps java.nio.file.Path for file access.

用于从本地文件系统加载资源的资源实现。 封装java.nio.file.Path进行文件访问。

Features | 主要功能:

  • Local file access - 本地文件访问
  • NIO.2 Path based - 基于NIO.2 Path
  • Immutable and thread-safe - 不可变且线程安全

Usage Examples | 使用示例:

FileSystemResource resource = new FileSystemResource(Path.of("/etc/config.yaml"));
String content = resource.readString();
Since:
JDK 25, opencode-base-io V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Constructor Details

    • FileSystemResource

      public FileSystemResource(Path path)
      Creates a file system resource from path 从路径创建文件系统资源
      Parameters:
      path - the file path | 文件路径
    • FileSystemResource

      public FileSystemResource(String path)
      Creates a file system resource from string path 从字符串路径创建文件系统资源
      Parameters:
      path - the file path string | 文件路径字符串
  • Method Details

    • exists

      public boolean exists()
      Description copied from interface: Resource
      Checks if the resource exists 检查资源是否存在
      Specified by:
      exists in interface Resource
      Returns:
      true if exists | 如果存在返回true
    • isReadable

      public boolean isReadable()
      Description copied from interface: Resource
      Checks if the resource is readable 检查资源是否可读
      Specified by:
      isReadable in interface Resource
      Returns:
      true if readable | 如果可读返回true
    • getInputStream

      public InputStream getInputStream()
      Description copied from interface: Resource
      Gets the input stream for reading the resource 获取用于读取资源的输入流
      Specified by:
      getInputStream in interface Resource
      Returns:
      input stream | 输入流
    • getURL

      public URL getURL()
      Description copied from interface: Resource
      Gets the URL of the resource 获取资源的URL
      Specified by:
      getURL in interface Resource
      Returns:
      URL | URL
    • getPath

      public Path getPath()
      Description copied from interface: Resource
      Gets the file path if available 获取文件路径(如果可用)
      Specified by:
      getPath in interface Resource
      Returns:
      path or null if not supported | 路径,如果不支持则返回null
    • getDescription

      public String getDescription()
      Description copied from interface: Resource
      Gets a description of the resource 获取资源描述
      Specified by:
      getDescription in interface Resource
      Returns:
      description | 描述
    • getFilename

      public String getFilename()
      Description copied from interface: Resource
      Gets the filename of the resource 获取资源的文件名
      Specified by:
      getFilename in interface Resource
      Returns:
      filename | 文件名
    • contentLength

      public long contentLength()
      Description copied from interface: Resource
      Gets the content length in bytes 获取内容长度(字节)
      Specified by:
      contentLength in interface Resource
      Returns:
      length or -1 if unknown | 长度,如果未知返回-1
    • lastModified

      public long lastModified()
      Description copied from interface: Resource
      Gets the last modified time 获取最后修改时间
      Specified by:
      lastModified in interface Resource
      Returns:
      timestamp or -1 if unknown | 时间戳,如果未知返回-1
    • createRelative

      public Resource createRelative(String relativePath)
      Description copied from interface: Resource
      Creates a relative resource 创建相对资源
      Specified by:
      createRelative in interface Resource
      Parameters:
      relativePath - the relative path | 相对路径
      Returns:
      new resource | 新资源
    • getFilePath

      public Path getFilePath()
      Gets the file path 获取文件路径
      Returns:
      path | 路径
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object