java - 包含两个文件的单个输入流。我想分割这些文件

标签 java inputstream

在java中,我有一个包含多个文件的inputstream(可能是sequenceinputstream)。我想使用java分离这些文件。 java中有没有可用的解决方案?

最佳答案

简单的答案是:你不能/不应该。

复杂的答案:如果您正在处理 SequenceInputStream,您可以使用以下反射 hack 访问底层流:

@SuppressWarnings("unchecked")
public static Enumeration<InputStream> split(final SequenceInputStream sis){
    try{
        Field streamsEnumField =
            SequenceInputStream.class.getDeclaredField("e");
        streamsEnumField.setAccessible(true);
        return (Enumeration<InputStream>) streamsEnumField.get(sis);
    } catch(final Exception e){
        throw new IllegalStateException(e);
    }
}

但是我会非常小心地使用这样的东西。

关于java - 包含两个文件的单个输入流。我想分割这些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5299064/

相关文章:

java - 屏幕上只允许 1 个(子)JFrame

java - 在 wicket 框架中刷新 AjaxButton 的 onSubmit 内的整个表单

java - 更改符号模式/匹配器中的标签

java - 线程 "main"java.lang.NoClassDefFoundError 在 apach nutch 中的异常

java - 在 Android/Java 中使用 JSON/Base64 编码的文件

java - 允许定义范围的配置库

ios - 从外部附件输入流读取并推送到s3的最有效方法?

android - 3G+网络下下载速度很小

java - 尝试在我的 Spring 项目中获取 InputStream 时出现 Http 502 错误

Java InputStream NullPointerException 与 InputStream