inputstream

    -1热度

    2回答

    。我有一个大小为1024的缓冲区,以及一个大小为29k-31k的输入流。我在一个循环中读取InputStream的,但我只获得了29个字节后的第一次读取,39为二读,并没有什么。对于不同的InputStream,重复相同的行为。 (我正在写数据到输出流,但我不认为这会如何影响第一读取) int bytesRead = 0; byte[] byteBuf = new byte[1024

    1热度

    4回答

    我正在通过此spec使用Java实现BitTorent协议。在消息部分中,除2个外,所有消息都是固定长度的;对于其中的一个来说,它是握手后唯一的变量消息,所以我可以检查其他人,并在没有其他消息遇到时认为它是一条消息。但是,对于下面的消息 bitfield: <len=0001+X><id=5><bitfield> 位域消息可以仅紧接在信号交换序列完成之后发送的,和任何其它消息发送之前。它是可选

    5热度

    3回答

    是否可以使用NIO来处理来自进程的stdout?我已经与java.io一起工作,但这是一个练习,可以学习更多关于NIO的知识,并探讨性能改进的可能性。 基本上我希望尽可能快地将大量文本从stdout流入缓冲区而不会阻塞,然后稍后处理该缓冲区的内容。麻烦的是,我似乎无法弄清楚正确的巫术使它与NIO合作。这就是我现在: ProcessBuilder pb = new ProcessBuilder(..

    2热度

    3回答

    有没有办法在Java中定期运行Unix命令(在我的情况下是ps)?我写的循环: while(this.check) { try { ProcessBuilder pb = new ProcessBuilder("ps"); Process proc; System.out.println(" * * Running `ps` * *

    10热度

    4回答

    从Android平台上的InputStream中读取时,我遇到了一个奇怪的问题。我不确定这是一个Android特定的问题,还是我一般做错的事情。 是Android的特定的唯一事情是这样调用: InputStream is = getResources().openRawResource(R.raw.myfile); 这将返回的InputStream从Android的资产的文件。不管怎么说,这里

    41热度

    7回答

    我想知道InputStreamn是否为空,但不使用方法read()。有没有办法知道它是空的而不阅读它?

    3热度

    2回答

    我正在读取一个Socket的InputStream。由于我正在解析传入数据,因此我需要逐字阅读。 请问BufferedReader.read()与InputStream.read()一样吗? (假设BufferedReader已经以InputStream为基础构建) 单独读取每个字符时使用InputStream.read()会更高效吗?或者有没有更好的方法?

    3热度

    5回答

    我有一个客户端连接到我的服务器。客户端发送一些消息给我不关心的服务器,如果我不打算使用它们,不想浪费时间解析它的消息。我使用的所有I/O都是简单的Java I/O,而不是nio。 如果我创建输入流并且从不读取它,那么这个缓冲区是否会填满并导致问题?如果是这样,有什么我可以做的或我可以设置的一个属性,它只是扔掉它看到的数据? 现在如果服务器根本没有创建输入流呢?这会在客户端/发送端造成任何问题吗?

    8热度

    5回答

    所以,我将文件数据提供给需要Reader的API,并且我想要一种报告进度的方式。 现在看来似乎应该是简单写一个FilterInputStream实现,包装了FileInputStream,跟踪阅读与总文件大小的字节数,并触发一些事件(或者调用一些update()法)报告分数进展。 (或者,也可以报告绝对读取字节,而别人可以做数学 - 也许更多的其他流情况一般的情况下是有用的) 我知道我已经看到了这

    1热度

    4回答

    如果我调用DataInputStream的read(),它会占用CPU周期等待数据还是产生当前线程,并通过中断信号唤醒数据已到达? 我的动机是确定流读取器是否需要在自己的线程中。阻塞读取占用CPU时间并不理想,因为这会挂起主线程。 相关问题:当​​一个方法被描述为一个阻塞时,它是否意味着线程在等待时产生?还是没有合同/保证?不断检查/轮询数据的方法仍然阻塞,这听起来,对我来说。