`

stream --> BufferToText

阅读更多
package stream.demo1;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;

public class BufferToText
{
    private static final int BSIZE = 1024;
    
    public static void main(String[] args)
        throws Exception
    {
        FileChannel fc = new FileOutputStream("data3.txt").getChannel();
        fc.write(ByteBuffer.wrap("Some text".getBytes()));
        fc.close();
        fc = new FileInputStream("data3.txt").getChannel();
        ByteBuffer buff = ByteBuffer.allocate(BSIZE);
        fc.read(buff);
        buff.flip();
        
        System.out.println(buff.asCharBuffer());// 输出数据,乱码
        // 重绕此缓冲区。将位置设置为零并丢弃标记。
        buff.rewind();
        
        // 获取系统编码格式
        String encoding = System.getProperty("file.encoding");
        // Charset.forName(encoding).decode(buff)用Charset去解析缓冲字节流
        System.out.println("Decoded using " + encoding + " : " + Charset.forName(encoding).decode(buff));// 输出数据,无乱码
        
        fc = new FileOutputStream("data3.txt").getChannel();
        fc.write(ByteBuffer.wrap("Some text".getBytes()));
        fc.close();
        fc = new FileInputStream("data3.txt").getChannel();
        buff.clear();
        fc.read(buff);
        buff.flip();
        System.out.println(buff.asCharBuffer()); // 输出数据,乱码
        fc = new FileOutputStream("data3.txt").getChannel();
        buff = ByteBuffer.allocate(24);
        buff.asCharBuffer().put("Some text");
        fc.write(buff);
        fc.close();
        fc = new FileInputStream("data3.txt").getChannel();
        buff.clear();
        fc.read(buff);
        buff.flip();
        System.out.println(buff.asCharBuffer());// 输出数据,乱码
    }
}
 
分享到:
评论

相关推荐

    centos-stream-release-8.5-2.el8.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    rtmp-rtsp-stream-client-java-master.zip

    【rtmp-rtsp-stream-client-java-master.zip】这个压缩包文件是针对安卓平台的一个开源项目,主要用于实现RTMP和RTSP直播推流功能。在Android Studio 3.5及以上版本中开发,它允许用户将手机上的视频内容实时推送到...

    Stream-2-Stream

    Stream-2-Stream是一个开源项目,其主要目的是实现流与流之间的通信,即Stream-to-Stream通信。这个项目的核心在于创建一个高效、可靠且灵活的框架,使得不同数据流能够实时、双向地交换信息。从提供的文件列表来看...

    视频嗅探器Stream-Video-Downloader_v9.2.10.zip

    Stream-Video-Downloader是一款强大的浏览器插件,专为视频嗅探和下载而设计。这款工具的最新版本为v9.2.10,其主要功能是帮助用户在浏览网页时发现并下载隐藏的在线视频资源。它的工作原理是通过解析网页源代码,找...

    two-stream-cnn-master MNIST-example

    标题中的"two-stream-cnn-master MNIST-example"指的是一个基于双流卷积神经网络(Two-Stream Convolutional Networks)的MNIST手写数字识别示例项目。MNIST是机器学习领域常用的数据集,用于训练和测试手写数字识别...

    spring-cloud-starter-stream-rabbit MQ使用规范

    <artifactId>spring-cloud-starter-stream-rabbit</artifactId> </dependency> ``` 在 `application.properties` 文件中,我们可以添加以下配置: ```properties spring.rabbitmq.host=47.92.108.148 spring....

    fs-write-stream-atomic-类似`fs.createWriteStream(...)`但是是原子的

    为了解决这个问题,`fs-write-stream-atomic`库应运而生。它提供了一个类似于`fs.createWriteStream(...)`的接口,但关键的区别在于它的写入操作是原子性的。这意味着整个写入过程要么全部完成,要么完全不进行,不...

    hystrix-metrics-event-stream-1.5.18.jar

    hystrix-metrics-event-stream-1.5.18.jarhystrix-metrics-event-stream-1.5.18.jar

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    将附件解压获取struts2-sunspoter-stream-1.0.jar,并复制在/WEB-INF/lib下 2。在原有的struts.xml的基础上进行相应的配置,配置如下例 <package name="default" namespace="/" extends="struts-default"> <!-- ...

    centos-stream-release-8.6-1.el8.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    Stream-Video-Downloader-9.2.3.crx

    Stream-Video-Downloader-9.2.3

    Stream-Video-Downloader-10.0.2.crx 下载

    Stream-Video-Downloader-10.0.2.crx

    h5stream-master

    这个项目的源代码仓库被命名为 "h5stream-master",通常在GitHub等代码托管平台上可以看到这样的命名结构,意味着它是项目的主分支或者是最新的稳定版本。 【描述】描述中的 "h5stream-master" 重复多次,暗示这是...

    前端开源库-file-stream-rotator

    前端开源库`file-stream-rotator`是一个专门针对日志管理的工具,它在前端开发中扮演着重要角色,特别是在需要记录和管理大量日志数据的应用中。这个库提供了一个高效、灵活的机制,可以自动地对日志文件进行流式...

    stream-2.7.0-API文档-中文版.zip

    赠送jar包:stream-2.7.0.jar; 赠送原API文档:stream-2.7.0-javadoc.jar; 赠送源代码:stream-2.7.0-sources.jar; 赠送Maven依赖信息文件:stream-2.7.0.pom; 包含翻译后的API文档:stream-2.7.0-javadoc-API...

    stream-2.7.0-API文档-中英对照版.zip

    赠送jar包:stream-2.7.0.jar; 赠送原API文档:stream-2.7.0-javadoc.jar; 赠送源代码:stream-2.7.0-sources.jar; 赠送Maven依赖信息文件:stream-2.7.0.pom; 包含翻译后的API文档:stream-2.7.0-javadoc-API...

    Stream-Video-Downloader-9.2.12.rar

    Stream Video Downloader是一款流行的浏览器插件,主要用于帮助用户从流媒体网站下载视频。版本9.2.12可能包含了一些优化和修复,以提供更好的稳定性和用户体验。从提供的压缩包文件名列表来看,我们可以深入了解这...

    deepstream-test1-app_rtsp-master基于Deepstream实现RTSP视频流的读取

    【标题】"deepstream-test1-app_rtsp-master"是一个项目,专注于使用Deepstream库来处理RTSP(Real-Time Streaming Protocol)视频流。这个项目的核心是用C++编程语言编写的源代码,它允许用户从RTSP服务器接收视频...

    XILINX AXI-STREAM-FIFO 手册

    XILINX AXI-STREAM-FIFO 手册 AXI-STREAM-FIFO 是一种基于 AXI4-Stream 接口的 FIFO(First-In-First-Out,先进先出)内存架构,主要应用于数字信号处理、图像处理、计算机视觉等领域。该手册详细介绍了 AXI-STREAM...

    基于deepstream-python yolov8的车辆识别检测模型.完整代码详细教程

    总的来说,"基于deepstream-python yolov8的车辆识别检测模型.完整代码详细教程"涵盖了利用NVIDIA DeepStream SDK结合Yolov8模型进行实时车辆检测的整个流程,包括模型的加载、配置文件的编写、推理的执行以及结果的...

Global site tag (gtag.js) - Google Analytics