因为写入txt格式的话,只能写入字符形式的数据,如果写入int类型的数据,会根据acci码表转化为对应的字符。但是如果写的超出0~127以外的数据的话,将写入最低字节,其他三个字节将抛弃,这也是int强制转化byte类型的结果。

/*** 基本方法,每次在文件中写入一个字节* 如果是多字节发送,write(byte[] b)没有write(byte[] b,int offset,int length)快* 因为在实际的网络传输中每个tcp分片至少包含40个字节的开销用于路由和纠错* @param out* @throws IOException*/private static void generateCharacters(FileOutputStream out) throws IOException {int firstPrintableCharacters=33;int numberPrintableCharacters=94;int numberOfCharactersPerLine=72;int start=firstPrintableCharacters;while(true){for(int i=start;i<start+numberOfCharactersPerLine;i++){out.write((i-firstPrintableCharacters)%numberPrintableCharacters+firstPrintableCharacters);}out.write('\r');out.write('\n');start=((start+1)-firstPrintableCharacters)%numberPrintableCharacters+firstPrintableCharacters;}}/*** 在tcp协议中如果进行单字节发送的话,效率不高,因为每次发送一字节会就会进行一遍数据传输,导致协议的开销很大,* 如果将多字节整合到一个字节数组中进行发送,只需要一次就能发送全部字节,所以效率要高。* @param out* @throws IOException*/private static void generateCharactersGood(FileOutputStream out) throws IOException{int firstPrintableCharacters=33;int numberPrintableCharacters=94;int numberOfCharactersPerLine=72;int start=firstPrintableCharacters;byte[] line=new byte[numberOfCharactersPerLine+2];while(true){for(int i=start;i<start+numberOfCharactersPerLine;i++){line[i-start]=(byte) ((i-firstPrintableCharacters)%numberPrintableCharacters+firstPrintableCharacters);}line[72]=(byte)'\r';line[73]=(byte)'\n';out.write(line);start=((start+1)-firstPrintableCharacters)%numberPrintableCharacters+firstPrintableCharacters;}}

  

转载于:https://www.cnblogs.com/smallbrokenchildwen/p/7147687.html

IO流实现写入规定的acci码值相关推荐

  1. JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入)

    JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入) 开发流程:需求文档 接口文档 效果图 开发环境统一:JDK1.8 IDEA win10 GIT SSM SSH SpringB ...

  2. Java实现图书借阅管理系统(IO流存储数据,附源码)

    目录 前言 一.项目概述 1.项目功能结构图 2.项目功能说明 3.项目其他说明 二.开发过程中需要注意的问题 1.开发顺序及思路 2.IO流读写 3.数据共享 4.业务逻辑问题 三.源码链接 前言 ...

  3. Java IO流读取/写入/修改某个字符串(通用)

    2019独角兽企业重金招聘Python工程师标准>>> package com.test;import java.io.BufferedReader; import java.io. ...

  4. java 写入文件流_Java实现文件写入——IO流

    输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据.流是一组有序的数据序列,根据操作的类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据. ...

  5. java用输入流创建数据文件_Java实现文件写入——输入输出流(IO流)

    输入输出含义和意义: 输入和输出功能是Java对程序处理数据能力的提高,java以流的形式处理数据. 流是一组有序的数据序列,根据操作类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据 ...

  6. Java实现文件写入——IO流(输入输出流详解)

    输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据.流是一组有序的数据序列,根据操作的类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据. ...

  7. (Java笔记)IO流的六类16种流方式

    目录 一.文件流 1.字节流 2.字符流 二.转换流(字节流转字符流) 1.输入 2.输出 三.缓冲流 1.字节流 2.字符流+转换流 四.数据流 1.DataInputStream 2.DataOu ...

  8. Java生成二维码并以IO流的形式返回给前端展示(不需写入服务器),以及下载二维码图片

    目录 场景 方案分析 第一步--引入依赖 第二步--编写工具类 第三步--编写API接口 第四步--访问测试 第五步--下载图片 场景 最近笔者做的项目中,有一个需求: 在系统中生成一个二维码,用户保 ...

  9. 小码笔记17:IO流

    小码笔记:IO流 一.File类 1.构造方法 2.常用成员变量 3.常用方法 4.递归 5.文件过滤器 二.IO流概述 1.分类选择 2.IO异常的处理 3.Properties属性集 三.字节流 ...

最新文章

  1. LeetCode中等题之删除链表的中间节点
  2. 开发log4j配置_Spring 使用 Log4J 记录日志
  3. CrackMe_001
  4. mysql 完整的增删改查 和单表查询
  5. 使用IST重新加入节点(5.7.20)
  6. jmeter 高并发测试报告_使用 JMeter 进行压力测试
  7. springboot2.3.x版本对应的spring5与thymeleaf版本配置
  8. 习题3-11 Kickdown UVA - 1588
  9. 图表插件Highcharts的动态化赋值,实现图表数据的动态化设置显示
  10. FFmpeg源代码:avcodec_open2()
  11. [解读REST] 3.基于网络应用的架构
  12. java 三个点_Java,参数中的3个点
  13. teechart绘制实时曲线_基于OpenCV的显著图绘制
  14. 【Python】106页的《python进阶》,附下载
  15. 推荐一个用Flutter写的仿网易云音乐项目(已开源)
  16. Date类型之组件方法
  17. java 修改exif_java – 操作图像而不删除其EXIF数据
  18. javascript原生脚本代码 飘浮广告
  19. ZBrush - 动物毛发制作及渲染
  20. c#计算标准偏差实现跟excel中一样的STDEVP()

热门文章

  1. adb 安装apk报错Failure [INSTALL_FAILED_TEST_ONLY:]
  2. 囚徒困境(条件判断)
  3. 派森python_python2.7下载-派森(Python)下载v2.7.18 官方正式版【x86|x64】-西西软件下载...
  4. 雷电连接不到android studio,android studio连接雷电模拟器 【AS 模拟器】
  5. 屏幕处理效果—调整屏幕的亮度,饱和度和对比度
  6. 前端学习-Antd 组件库基础
  7. index.php打开失败,phpmyadmin无法打开index.php的解决方法
  8. js代码优化8个优点
  9. PS基础操作之照片处理
  10. 基于 Self-hosted Debug 的调试