`
knitter
  • 浏览: 66657 次
  • 来自: ...
社区版块
存档分类
最新评论

Java网络编程中inputStream.available()的使用方法

阅读更多

如果服务器发来的字节流没有作任何标记,只是在发完一次数据后flush(),则在客户端可以用inputStream.available()来判断流的长度,但一定要在调用read()至少一次之后,不然就只能得到零值。

实例代码如下:

 

//通过BLOB对象获得一个InputStream
InputStream input = imageblob.getBinaryStream();

// ServletOutputStream用来传输数据,
OutputStream out = response.getOutputStream();
        
int firstChar = input.read();
int length = input.available();
        
//将其转换成二进制数据
byte[] image = new byte[length];
image[
0= (byte)firstChar;

int len = 0;
while ((len = input.read(image,1,length-1)) != -1...{
  out.write(image, 
0, len);
}

out.flush();
out.close();
分享到:
评论
1 楼 leo_soul 2010-09-04  
你的例子程序写的有点问题。
int firstChar = input.read();
之后, 输入流里就会少一个byte(已经被读出去了),所以
int length = input.available()+1;
这样后边的程序就对了。

相关推荐

    Java中InputStream类.pdf

    Java中的`InputStream`类是处理字节输入流的核心类,它是所有字节输入流类的超类,位于Java的`java.io`包中。作为抽象类,`InputStream`定义了一系列基本的方法来读取字节数据,这些方法由其子类进行具体实现。`...

    51CTO下载-Java网络编程+讲义

    ### Java网络编程讲义知识点详解 #### 一、Java数据流输入/输出概览 **1.1 输入/输出的概念** 在程序设计中,“输入/输出”(简称I/O)通常指的是程序与外部世界(例如硬盘、网络或其他设备)之间的数据交换过程...

    INPUTSTREAM

    标题 "INPUTSTREAM" 指的是 Java 中的核心输入流类...理解它的概念、方法和使用场景对于提升Java编程能力非常关键。博客文章和源代码文件提供了深入学习和实践的宝贵资料,可以帮助开发者更好地掌握I/O流的操作和优化。

    Java从网络上下载数据Java实用源码整理learns

    在Java编程语言中,从网络上下载数据是一项常见的任务,特别是在构建Web应用程序或者处理网络爬虫时。这个“Java从网络上下载数据Java实用源码整理learn”集合提供了一些源码示例,可以帮助开发者理解并实现相关功能...

    在Java中如何利用Applet来加载图像

    在Java编程语言中,Applet是一种特殊的类,它允许开发者创建可以在Web浏览器中运行的小型Java应用程序。Applets常用于创建交互式的Web内容,其中包括加载和显示图像。本篇文章将详细探讨如何在Java Applet中加载图像...

    java控制台输入cmd命令, ssh远程linux shell命令, 并打印命令输出到控制台

    在Java编程中,有时我们需要与操作系统进行交互,执行系统级别的命令,例如在控制台执行CMD命令或者通过SSH连接远程Linux服务器执行shell命令。这在自动化脚本、系统管理或者远程监控等场景中非常常见。本篇文章将...

    给大家分项下用RXTX库实现JAVA串口编程_RXTXJAVA串口编程_

    在Java编程环境中,进行串口通信往往需要借助第三方库,其中RXTX是一个非常流行的开源库,专门用于处理Java的串行通信。本篇文章将详细阐述如何利用RXTX库来实现Java串口编程,帮助开发者更好地理解和运用这一技术。...

    JAVA解析PPT教案学习.pptx

    Java解析PPT教案主要涉及Java中的输入/输出流(I/O Stream)概念,这是Java编程中非常基础且重要的部分。在Java中,流是数据传输的抽象表示,它将不同的输入源(如键盘、文件、网络)和输出目标(如显示器、文件、...

    java判断编码方式

    在Java编程语言中,判断文件或字符串的编码方式是一个常见的需求。这主要涉及到字符集的概念,如ASCII、ISO-8859-1、UTF-8等,它们用于将二进制数据转换为人类可读的字符。在Java中,有多种方法可以用来识别或检测一...

    java输入输出流总结.docx

    Java输入输出流是Java程序与外部世界交互的关键机制,无论是简单的文件操作还是复杂的网络通信,都离不开流的使用。了解和掌握这些基本概念和方法,对于开发高效且可靠的Java应用程序至关重要。在实际编程中,我们还...

    JAVA IO 输入输出处理.ppt

    Java IO 输入输出处理是Java编程中至关重要的一部分,用于在程序和外部资源(如磁盘、网络、内存等)之间传输数据。Java的IO系统由java.io包提供,它包含了一系列的类和接口,用于实现不同类型的输入输出操作。 **...

    java输入输出流总结.pdf

    Java 输入输出流是Java编程语言中用于处理数据输入和输出的核心机制。在Java中,输入输出流被设计成一种抽象的概念,允许程序处理各种不同类型的输入源和输出目标,包括文件、网络连接、内存缓冲等。Java.io 包提供...

    在Java中如何利用Applet来加载图像_225.doc

    在Java编程语言中,Applet是一种特殊的类,它允许开发者创建可以在Web浏览器中运行的小型应用程序。Applet常用于在网页中嵌入交互式的、动态的内容,如图像、动画等。本文将详细介绍如何在Java Applet中加载图像,...

    JAVA串口完整代码

    在Java编程环境中,串口通信(Serial Communication)是连接硬件设备和软件系统的重要途径,尤其在嵌入式系统、物联网应用以及设备控制等领域中广泛应用。本篇将详细讲解使用Java进行串口通信的方法,主要围绕"JAVA...

    rxtx-2.1.7.jar串口通信gnu.io包不存在问题

    在Java编程环境中,进行串口通信时,常常会遇到一个问题:缺少`gnu.io`包,导致无法正常编译或运行程序。这个问题主要出现在使用RXTX库进行串口操作的项目中。RXTX是一个开源的Java库,它提供了与硬件进行串行通信的...

    Java实现用Mysql存取图片操作实例

    在Java编程中,有时我们需要将图片等大容量的二进制数据存储到数据库中,MySQL提供了BLOB(Binary Large Object)类型,专门用于存储大块的二进制数据。本实例将详细介绍如何使用Java和MySQL进行图片的存取操作。 ...

    Java-IO流.pdf

    Java的IO流是Java平台核心特性之一,用于处理程序中的数据输入和输出。在Java中,流被定义为一组有序的数据序列,可以是字节...在实际编程中,根据需求选择适当的流类型和方法是关键,同时注意流的关闭以避免资源泄露。

    JAVA课件Java IO.ppt

    Java I/O系统是Java编程语言中的一个重要组成部分,用于处理数据的输入和输出。它提供了丰富的类库,使得程序员能够高效地读写文件、网络通信、处理内存数据等。本课件将详细介绍Java I/O流的基本概念、分类以及常用...

    IO流文档InputStream / OutputStream

    IO流文档InputStream / OutputStream IO流是一种基本的数据交换方式,在Java中,IO...在Java中,IO流的应用非常广泛,例如,在文件操作、网络编程、数据库操作等方面都需要使用IO流,因此,掌握IO流的知识点非常重要。

Global site tag (gtag.js) - Google Analytics