`
孤独勇者
  • 浏览: 6980 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

[原]Java中流对Byte处理需注意的地方

    博客分类:
  • java
阅读更多

1 问题描述

         java中使用DataInputStream类的readByte方法,当读入的是无符号并其值大于127时,读出的数是负数。这样给处理带来极大的不便。

2 解决办法

         byte b = DataInputStream.readByte();读入8位数字,然后在需要真实的byte值时,进行处理:int I = b & 0xff;这样i的值即byte原来真实的值。当然如果中间不需用byte变量,则直接可用用int I = DataInputStream. readUnsignedByte();

3 解决原理

         Javabyte8位有符号数,即其值最大为127,当读入的值大于127时,java就会把最高位当成符号位,例如当读入11110001241)时,其byte值为-15。所以当要真实值时,则要告知java其最高位不是符号位。

4 附加说明

二进制运算在计算机中的处理方法:二进制表示和加减都是通过补码进行的。

正数的补码是其自身,负数的补码是正数补码取反后加1

如:-15的计算机表示是:15(00001111),取反:11110000,然后再加111110001

如果byte读入的是241(11110001),则计算机则以为是 -15

分享到:
评论

相关推荐

    Java中流的学习

    ### Java中的流学习 在Java编程中,流(Streams)是一个非常重要的概念,尤其是在处理文件输入输出、网络通信等...通过本文的详细介绍,希望读者能够对Java中的流有一个全面的认识,并能够灵活运用到实际开发中去。

    java中各种流对比应用小结

    通过对Java中各种流的理解和应用,可以有效地处理文件操作、网络通信等场景下的数据读写需求。理解不同流之间的区别及其适用场景对于开发人员来说至关重要。希望以上总结能帮助您更好地理解和掌握Java中的流技术。

    javaIO(java中的流的介绍)

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了一种机制,允许程序与外部资源(如文件、网络、硬件设备等)进行数据交换。在Java中,流(Stream)是IO系统的核心概念,...

    java IO流(包含类之间的关系图)

    字节流是Java IO流中最基本的流类型,用于处理二进制数据。常用的字节流有: * OutputStream:抽象类,所有字节流的父类。 * FileOutputStream:文件输出流,用于将数据写入文件。 * ByteArrayInputStream:字节...

    java中流的使用

    Java中的流(Stream)是用于处理数据传输的核心概念,主要用于读取或写入数据。流的概念源自于计算机科学中数据处理的模型,它将数据源和数据接收端之间的数据传输抽象为一系列有序的数据单元。在Java中,流可以按照...

    Java中流的有关知识点详解

    Java中流的有关知识点详解 Java中流是程序和设备之间连接起来的一根用于数据传输的管道。流可以分为四大基本抽象流,即输入流、输出流、字符流和字节流。其中,输入流和输出流可以根据数据流的方向不同进行分辨,而...

    java竞赛题集锦

    2. **字符流与字节流的区别**:Java中流(Stream)的概念用于处理输入/输出操作。字节流处理的是8位数据单元,而字符流处理的是16位Unicode字符。字符流通常用于文本数据的读写,而字节流则更通用,可以处理任何类型...

    北大Java高级技术课程pdf(1)

    - **输入/输出机制**:涵盖了Java中流的概念、各种输入输出流类的使用,如FileInputStream、FileOutputStream、BufferedReader、PrintWriter等。 - **对象容器**:讨论了集合框架的使用,包括List、Set、Map等接口...

    mr.rar_Java 8_Java项目开发

    并行流是Java 8中流的一个扩展,可以利用多核处理器的并行性来加速数据处理。通过`parallelStream()`方法,我们可以轻松地将串行操作转换为并行操作。实例中可能会包含并行流的使用,以展示其性能优势。 通过学习...

    在 rtmp 和 rtsp for Android 中流式传输的库 Java

    特征: Android 最低 API 16。 支持camera1和camera2 API 编码器类型缓冲区到缓冲区。 编码器类型表面缓冲。 RTMP/RTSP 认证。 音频噪声抑制器。 音频回声消除。 流式传输时禁用/启用视频和音频。...

    J2SE中流 ,异常 的个人总结

    在Java编程语言中,J2SE(Java 2 Platform, Standard Edition)是核心平台,它提供了构建和运行桌面应用的基础工具和API。本总结主要聚焦于J2SE中的"流"和"异常"两个关键概念,这两个概念对于任何Java开发者来说都至...

    Java8中流的性能及流的几个特性

    Java8中流的性能及流的几个特性 Java8中引入了流(Stream)概念,以实现最佳性能。流的性能提升是通过并行化、惰性和短路操作来实现的。但是,选择流的时候需要非常小心,因为这可能会降低应用程序的性能。 首先,...

    java8stream源码-java8collections:Java8中流的基本介绍

    java8流源码Java 8 集合速成课程 所有练习都可以在课堂的main方法中完成。 Lambda 表达式 例子 写下给定beerNames列表的元素: beerNames . forEach(s - > System . out . println(s)); 例子 按 aphabet 顺序对给定...

    Java中的stream流的概念解析及实际运用总结

    Java中的Stream流是一种抽象的数据处理方式,它允许我们以声明性的方式处理数据集合。Stream API自Java 8引入,极大地提升了Java程序员处理数据的效率和代码的简洁性。Stream流与传统的集合操作不同,它并不直接修改...

    中流测绘-地信一体化系统帮助.doc

    【中流测绘-地信一体化系统】是由湖南中流空间科技有限公司专为测绘与基础地理信息生产设计的综合性软件系统。该系统结合了AutoCAD的图形编辑能力与GIS的数据处理功能,采用数据库作为核心,实现了图形属性的一体化...

    Twitter在Java中流式传输uisng-Apche-kafka

    Twitter使用Java中的Apache Kafka流式传输 Apache Kafka基础知识和在JAVA中实现的迷你项目(Twitter Sreaming_Producer和Consumer配置)的工作示例。 该项目是根据而开发的。 我强烈建议他在Udemy上他的课程,以...

Global site tag (gtag.js) - Google Analytics