jjzjj

OutputStream

全部标签

java - Java 中的输入和输出流管道

对于在Java中创建既是InputStream又是OutputStream的Pipe对象,有没有人有任何好的建议,因为Java没有多重继承并且这两个流都是抽象类而不是接口(interface)?潜在的需求是拥有一个可以传递给需要InputStream或OutputStream的事物的对象,以将一个线程的输出通过管道传输到另一个线程的输入。 最佳答案 看来这个问题的重点被忽略了。如果我理解正确的话,您需要一个对象在一个线程中像InputStream一样工作,在另一个线程中像OutputStream一样工作,以创建一种在两个线程之间进行

Java OutputStream 跳过(偏移量)

我正在尝试编写一个函数,该函数采用File对象、偏移量和字节数组参数,并将该字节数组写入Java中的File对象。所以函数看起来像publicvoidwrite(Filefile,longoffset,byte[]data)但问题是offset参数是long类型,所以不能使用OutputStream的write()函数,它取整型作为偏移量。与具有skip(long)的InputStream不同,OutputStream似乎无法跳过文件的第一个字节。有什么好的方法可以解决这个问题吗?谢谢。 最佳答案 try{FileOutputStr

java - Outputstream是一个抽象类,所以我们不能实例化它。为什么要为Outputstream类提供一个默认的构造函数呢?

这里是Outputstream抽象类的API文档的链接。你会找到一个默认的构造函数http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html#OutputStream%28%29 最佳答案 类必须至少有一个构造函数,因为所有Java类都有构造函数。此外,子类必须链接到它-所以它必须至少是protected可访问性。构造函数不需要做任何事情,因此作者决定不提供明确的构造函数。现在,来自JLS8.8.9:Thedefaultconstructorhasthesam

java - Java 中的 OutputStream 是阻塞的吗? ( socket )

我目前正在为一个项目编写简单的网络代码,一个伙伴暗示我,当我以迭代方式从服务器向所有客户端发送一个信息包时,当其中一个客户端是没有正确回应。他以拖钓而闻名,所以我在实现一个现在负责将数据发送到客户端的辅助线程时有点怀疑,它有一个队列,服务器只需将包添加到该队列上,然后由线程读取发送数据。我现在思考后的问题是天气与否JavaSocket的OutputStream实际上将他要发送的内容排入队列,从而无需预先排队。只有当服务器阻塞时,只要他没有收到客户端发送的对象已收到的响应,才有可能出现严重问题。谢谢。 最佳答案 你的friend是对的

java - 在 JNI 中连接 C++ istream/ostream 和 Java InputStream/OutputStream

是否有任何现有的C++/JNI库可以在JavaInputStream和C++istream以及JavaOutputStream之间编码访问和C++ostream?特别是,我希望Java应用程序能够将InputStream或OutputStream传递到使用iostreams作为其流接口(interface)的C++库中.如果不存在现有库,我需要在istream/ostream实现中实现的最低功能是什么以支持它?更糟糕的是,我还需要支持seek和tell,尽管原则上我应该能够使用mark、重置,然后跳过以执行我需要的操作。由于这些流可能非常大,我不想简单地将它们加载到ByteArray中

c++ - 输出缓冲区不会刷新的情况?

我正在学习iostream对象和刷新缓冲区。我知道何时保证刷新输出缓冲区以及如何显式刷新缓冲区。但是,我从未见过输出缓冲区未刷新的情况。在我看来,即使我不使用诸如endl、flush和ends之类的操纵器,输出缓冲区也会在每个语句的末尾刷新>.那么,有没有输出缓冲区不会(或者至少,可能经常不会)被刷新的简单示例?我觉得我需要看到这样的案例才能真正理解输出缓冲区。 最佳答案 取决于系统。以下面的程序为例:#include#ifdefWIN32#include#definesleep(n)Sleep((n)*1000)#else#inc

c++ - 在 C++ 中,如何获取一个程序的输出并将其用作另一个程序的输入?

我有一个程序将实验计数作为命令字符串参数并输出float序列。例子:im_7.exe1010.4113.338.80614.9515.5513.8810月13日12.229.0910.45所以,我需要在我的程序中调用这个程序并分析这个数字序列。 最佳答案 如果您使用的是Windows,那么您需要执行以下操作使用Windows的CreatePipeapi创建一个Pipe1。使用此管道从子进程的STDOUT读取数据。以相同的方式创建一个Pipe2,并使用该管道将数据写入子进程的STDIN。创建子进程并在启动信息中提供这些句柄并从父进程继

c++ - 在 C++ 中什么时候使用 cerr 什么时候使用 cout?

我正在寻找一个区分C++中的cerr和cout的示例?什么时候需要使用cerr? 最佳答案 许多操作系统允许您重定向文件的输入和输出。当最终用户将您的输出重定向到一个文件时,最终用户看不到您写入cout的任何内容;如果您希望最终用户看到您的输出,您需要一个单独的流来为他们打印消息。假设您正在编写一个程序,逐行读取标准输入,并将这些行按排序顺序写入标准输出。假设您的程序采用一个命令行参数,该参数说明输出是否需要按升序或降序排序。如果最终用户为此参数传递了一个无效值,您需要向控制台打印一条消息"Invalidflag"。将它打印到cou

ios - 在 Swift 3 中使用 Stream 打开与 SMTP 服务器的套接字连接

我需要连接到SMTP服务器,但无法打开连接。握手失败(缺少身份验证)是我到达这里最远的地方。我打开了到普通服务器的套接字,但未能在此处这样做以发送电子邮件。privatefuncconnect()throws{varinput:InputStream?=nilvaroutput:OutputStream?=nilStream.getStreamsToHost(withName:server,port:port,inputStream:&input,outputStream:&output)guardletinputSafe=input,letoutputSafe=outputelse{

ios - 尝试向服务器发送 telnet 命令

我正在尝试连接到telnet服务器(通过AMX运行NetLinx,以防万一)并向其发送一些命令,就像我打开终端并执行“telnet(地址)”并开始输入命令一样。我可以接收消息,但无法使用我从http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server的教程中找到的代码发送它们:-(void)sendMessage:(NSString*)message{//calledwhentheuserinteractswithUISwitches,issupposedtosendmessag