是否有System.IO.Stream的接口? - c#

我正在编写一个需要接收一个对象,记录其当前状态,更新该对象并将其传递给另一个类的类。唯一的问题是,您只能从一个类继承,而我需要在我的项目中继承一个类。我对System.IO.Stream感兴趣,因为如果需要,我可以将此类移动到它自己的线程中,而无需大多数(如果不是全部)套接字和IPC的其他方法。主要问题是System.IO.Stream是否有接口?如果没有,有没有办法在不牺牲我依赖的项目关键数据的情况下获得我想要的功能? (对不起,如果我听起来有点矛盾,我不确定该如何措辞。)

参考方案

听起来IEnumerable<T>更适合-流适合于传递字节,但是迭代器适合于表示更通用的对象流。

您想要从流中读取的内容(例如套接字)并创建对象,可能使用C#迭代器块(yield语句等)。然后,您可以在IEnumerable<T>上使用处理功能,过滤器等,然后稍后将其吹回到套接字(或其他字节流)中。

要回答这个问题-不,Stream没有接口,但是尚不清楚与您的问题的线程部分有多相关。您是否对异步IO感兴趣?

在不使用java.io. *的情况下获取FileChannel(使用纯NIO) - java

最近,我对此answer进行了评论,如果我想使用“纯NIO”,则应该远离java.io。这是简化的代码(复制文件):private static void copy(File source, File destination) throws IOException { long length = source.length(); FileChannel in…

OSError:尝试从s3获取图像并打开图像时,无法识别图像文件<_io.BytesIO对象位于0x00000198001B9E08> - python

我正在尝试获取jpeg。从s3存储桶中,但出现错误。这是代码的一部分:s3_client = boto3.client('s3') bucket = os.environ['encryption_bucket'] def encrypt_zip(event, contex): image_key = event[�…

如何使用apache-commons-io FileUtils.listFilesAndDirs过滤具有名称的目录的所有目录和子目录? - java

我必须使用FileUtils.listFilesAndDirs方法从具有多个子目录的大型目录中递归过滤两个特定的文件夹路径。那我必须使用什么过滤器。例如,我要递归过滤目录“结果”和“日志”的所有目录子目录路径。提前致谢。我已经尝试过nameFileFilter,但它仅针对一个目录进行过滤,而不是递归过滤。public static void main(Str…

java如何在objectinputstream中的readObject知道要读取多少字节? - java

在套接字I / O中,我是否可以知道objectinputstream readObject如何知道要读取多少字节?内容长度是封装在字节本身内部还是仅读取缓冲区本身中的所有可用字节?我问这个问题是因为我指的是Python套接字的使用方法,它说 现在,如果您考虑一下,您将意识到 套接字的基本原理:消息必须固定长度 (讨厌)或定界(耸耸肩),或指出它们有多长时间…

Java:BigInteger,如何通过OutputStream编写它 - java

我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…