Class InputStreamResource

java.lang.Object
cloud.opencode.base.classloader.resource.AbstractResource
cloud.opencode.base.classloader.resource.InputStreamResource
All Implemented Interfaces:
Resource

public class InputStreamResource extends AbstractResource
InputStream Resource - Resource from input stream 输入流资源 - 从输入流加载的资源

Represents a resource backed by an input stream. Note that the stream can only be read once.

表示由输入流支持的资源。注意:流只能读取一次。

Features | 主要功能:

  • Wrap existing input stream - 包装现有输入流
  • Single-read resource - 单次读取资源
  • Streaming support - 流式支持

Usage Examples | 使用示例:

InputStream is = new FileInputStream("config.yml");
Resource resource = new InputStreamResource(is);
Resource resource = new InputStreamResource(is, "config.yml");

Security | 安全性:

  • Thread-safe: No (single use) - 线程安全: 否 (单次使用)
  • Null-safe: Yes - 空值安全: 是
Since:
JDK 25, opencode-base-classloader V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Constructor Details

    • InputStreamResource

      public InputStreamResource(InputStream inputStream)
      Create input stream resource 创建输入流资源
      Parameters:
      inputStream - input stream | 输入流
    • InputStreamResource

      public InputStreamResource(InputStream inputStream, String description)
      Create input stream resource with description 创建带描述的输入流资源
      Parameters:
      inputStream - input stream | 输入流
      description - resource description | 资源描述
  • Method Details

    • exists

      public boolean exists()
      Description copied from interface: Resource
      Check if resource exists 检查资源是否存在
      Specified by:
      exists in interface Resource
      Overrides:
      exists in class AbstractResource
      Returns:
      true if exists | 存在返回 true
    • isReadable

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

      public InputStream getInputStream() throws IOException
      Description copied from interface: Resource
      Get input stream for resource 获取资源的输入流
      Returns:
      input stream | 输入流
      Throws:
      IOException - if cannot open stream | 无法打开流时抛出
    • getUrl

      public URL getUrl() throws IOException
      Description copied from interface: Resource
      Get resource URL 获取资源 URL
      Returns:
      resource URL | 资源 URL
      Throws:
      IOException - if cannot get URL | 无法获取 URL 时抛出
    • getDescription

      public String getDescription()
      Description copied from interface: Resource
      Get resource description 获取资源描述
      Returns:
      description | 描述
    • createRelative

      public Resource createRelative(String relativePath) throws IOException
      Description copied from interface: Resource
      Create relative resource 创建相对资源
      Parameters:
      relativePath - relative path | 相对路径
      Returns:
      relative resource | 相对资源
      Throws:
      IOException - if cannot create relative resource | 无法创建相对资源时抛出
    • isRead

      public boolean isRead()
      Check if the input stream has been read 检查输入流是否已读取
      Returns:
      true if read | 已读取返回 true