`

关于字节流的总结

 
阅读更多

在以前的一个项目中用到过 流 的操作,今天大致总结一下。

与客户方的数据传输其实可以分成几个步骤:

1.封装报文

2.准备链接(包括换取ip,端口,协议,timeout) http和https还需要请求的url 以及httphead

3.发送报文(判断是否要对所做的操作校验)

4.解析返回的报文信息,根据信息修改本次执行的状态

 

其中简单的4个步骤中,在第二步和第三步中在可以抽象出一个公用的方法,在项目中经过分析发现,http流,https流以及tcp流之间有很大的共通性:

private void prepareConnection() throws Exception {

// 创建连接工厂

ConnectionFactory factory = getConnectionFactory();

// 设置连接属性

setConnectionProperty(factory);

// 构造连接

conn = getConnection(factory);

// 打开连接

openConnection(conn);

// 获取输出流

os = getOutputStream(conn);

}

 

在创建连接工厂中,可以根据具体的渠道把请求机器的IP、超时设置初始化返回factory对象,这一步http,https,tcp都是通用的;

在设置连接设置中,若有渠道对连接有特殊的操作,比如需要渠道自己校验的key值等;

在构造连接中,根据http,https,tcp创建对应的connection.(后面在详细介绍);

在获取输出流中,直接返回OutputStream 的输出流。

 

在接下来就是进行交互了:

                    // 发送报文

     send(os, requestStr);

// 关闭输出流

closeOutputStreamQuietly(os);

// 获取输入流

InputStream is = getInputStream(conn);

// 接收报文

String responseStr = recv(is);

// 关闭输入流

closeInputStreamQuietly(is);

                //返回报文

 

return responseStr;

 

后面基本上一目了然了,对返回的报文进行解析,根据解析的结果修改本次操作的状态。

 

后续有空会继续补充!尽量编写细致。

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    lua 字节流操作

    总结来说,lua_lpack是Lua中用于字节流操作的重要工具,它通过打包和解包功能实现了数据的序列化和反序列化,使得在网络通信中高效、准确地处理字节流成为可能。无论是在游戏开发还是其他领域,熟悉并掌握lua_lpack...

    Java字符流和字节流

    ### Java字符流和字节流详解 #### 一、引言 在Java中,I/O流主要用于处理输入输出操作,包括文件读写等。根据处理数据类型的不同,Java I/O流主要分为字节流和字符流两大类。字节流处理的是8位的字节数据,而字符流...

    Java字节流数据逐行读取(readLine)

    总结来说,虽然Java的字节流不直接支持`readLine()`方法,但通过结合`InputStreamReader`和`BufferedReader`,我们可以方便地实现字节流数据的逐行读取。在处理文本文件时,正确选择字符编码并确保资源的有效管理是...

    02【字节流、字符流】.html

    Java文件流知识点梳理总结,IO文件流,包含了File类、缓冲流、字节流、字符流、转换流等

    数据流,对象流,字节流,字符流.docx

    根据不同的数据类型和操作方式,I/O流分为多个类别,主要包括数据流、对象流、字节流和字符流。 1. **数据流**: 数据流主要指的是InputStream和OutputStream这两类基本流。InputStream是所有读取数据的流的基类,...

    字节流实现从文件以字节读取信息

    ### 字节流实现从文件以字节读取信息 在计算机科学中,处理文件时,经常需要将文件读取到内存中进行操作。对于文本文件,我们通常使用字符流(如`Reader`和`Writer`);而对于二进制文件(如图片、音频等),则需要...

    javaIO字节流读取文件方式总结共4页.pdf.zip

    本资料“javaIO字节流读取文件方式总结共4页.pdf”详细介绍了Java字节流在读取文件时的各种方法和应用场景。本文将深入探讨这些知识点。 首先,Java中的字节流分为输入流(InputStream)和输出流(OutputStream)。...

    java字节流和字符流[整理].pdf

    总结起来,Java中的字节流和字符流主要用于数据的输入和输出。字节流适合处理任何类型的二进制数据,如图片、音频等;而字符流主要处理字符编码的数据,如文本文件。在实际编程中,根据数据类型选择合适的流类型,并...

    使用字节流方式操作文件,读取和写入文件,关闭文件

    总结一下,字节流在Java中用于处理二进制文件的读写,通过`FileInputStream`和`FileOutputStream`实现。确保在操作完成后正确关闭文件流是避免资源泄露的关键。使用`try-with-resources`可以简化代码并确保资源的...

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、...代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    Java中的字节流文件读取教程(一)

    Java中的字节流文件读取教程(一) 本篇文章主要介绍了Java中字节流文件读取的相关知识,通过示例代码详细介绍了字节流文件读取的原理和使用场景。下面是相关知识点的总结: 1. Java中的IO流设计 Java的IO流设计...

    深入解析Java编程中面向字节流的一些应用

    总结一下,Java中的面向字节流包括: 1. 文件输入输出流(FileInputStream 和 FileOutputStream):处理本地文件的顺序读写。 2. FileDescriptor:提供与系统输入/输出设备交互的途径。 3. 过滤流:如DataInputStream...

    字节流,字符流,对象流,序列化,持久化

    总结来说,字节流、字符流、对象流和序列化是Java I/O系统的基础,它们在处理数据输入输出、对象存储和网络通信中扮演了关键角色。理解这些概念并熟练运用,能帮助开发者编写高效、可靠的程序。在实际编程中,结合...

    JavaIO字节输出流的总结共6页.pdf.zip

    - Java中的字节流主要由两个基类构成:`java.io.OutputStream`和`java.io.InputStream`。其中,`OutputStream`是所有字节输出流的父类,提供了基本的字节写入方法。 - 字节流主要用于处理二进制数据,如图片、音频...

    Java socket字节流传输示例解析

    总结来说,这个Java Socket字节流传输示例展示了如何创建一个简单的服务器,监听客户端的连接,接收并处理客户端发送的字节数据。通过使用字节流,我们可以处理任何类型的数据,无论是文本、图像还是其他二进制数据...

    Java流和文件总结(二)

    字节流包括输入字节流(InputStream)和输出字节流(OutputStream)。例如,FileInputStream和FileOutputStream分别用于读取和写入文件的字节数据。字符流包括Reader和Writer,如FileReader和FileWriter,它们专门...

    Java IO流 总结

    Java IO流总结 Java IO流是Java语言中最基本和最重要的输入/输出机制,负责将数据从外部世界输入到Java应用程序中或将数据从Java应用程序输出到外部世界。IO流可以分为两大类:字节流和字符流。 1. 节点流:离数据...

    IO流的试题总结,字节流字符流相关的知识点

    IO流学习第二周的考核总结,避免再次入坑,留下记录

Global site tag (gtag.js) - Google Analytics