java输出的文本内容不对_java 字符串写入文件后再读出不一样? 有什么解决办法吗?...
展开全部
看你纠结这个问题,好几天了.我就仔细帮你看了下代码,修改后如下import java.io.*;
// 看了下,该程序想实现用密e69da5e887aa3231313335323631343130323136353331333337616535码password对数据data进行加密,变量名字取得比较乱,所以修改了部分变量名字
public class TestString {
// 定义的shuju数据 和 password密码,可以放到前面
static String data = "6869";
static String password = "xzfd";
public static void main(String[] args) throws Exception {
char s[] = data.toCharArray();
char p[] = password.toCharArray();
int n = s.length;
int m = p.length;
StringBuilder ecodeDataTemp = new StringBuilder();// 建议重新定义一个变量用于存储加密后的字符
// 你的代码str = new String(s); 又把最开始的str变量给覆盖掉了..
for (int k = 0; k
int temp = s[k] + p[k % m];// 加密的过程
s[k] = (char) temp;
// 把每一个加密后的字符都变成一个uncoide编码进行存储,比如\\ua9,
// 这样的好处,就算是该字符没有可以显示出来的字符,也可以存进去.比如很多的char的值可显示的字符,那么也不怕.
// 你的代码强行把字符存进去,那么如果该字符不存在等情况,可能就会显示出 ?
ecodeDataTemp.append("\\u" + Integer.toHexString(temp));
}
String ecodeData = new String(ecodeDataTemp);
//System.out.println("输出加密的数据到文件:" + ecodeData);
File file = new File("Tesat.txt");
FileWriter fw = new FileWriter(file);
fw.write(ecodeData);
fw.flush();
fw.close();
FileReader fr = new FileReader(file);
String readData = "";
int b;
while ((b = fr.read()) != -1) {
readData = readData + (char) b;
}
fr.close();
//System.out.println("从文件里读取到的数据:"+readData);
StringBuilder decodeDataTemp = new StringBuilder();
String[] hex = readData.split("\\\\u");// 切割字符成单独的unicode字符
for (int i = 1; i
int temp = Integer.parseInt(hex[i], 16);
decodeDataTemp.append(((char) temp));
}
char[] es = decodeDataTemp.toString().toCharArray();
for (int k = 0; k
int temp = es[k] - p[k % m];
es[k] = (char) temp;
}
String decodeData = new String(es);
System.out.println("加密前的数据data : " + data);
System.out.println("加密后的数据data : " + ecodeData);
System.out.println("如果强制解密data : "+decodeDataTemp);
System.out.println("解密后的数据data : " + decodeData);
}
}
查看运行效果加密前的数据data : 6869
加密后的数据data : \uae\ub2\u9c\u9d
如果强制解密data : ????
解密后的数据data : 6869
java输出的文本内容不对_java 字符串写入文件后再读出不一样? 有什么解决办法吗?...相关推荐
- golang 将接口内容转换为json字符串写入文件
使用示例 package mainimport ("encoding/json""fmt""os" )type S struct {A st ...
- 二维数组转稀疏数组,写入文件后再读取文件,将内容转回二维数组
该方法模拟的是将棋盘的位置保存到稀疏数组中,降低存储的数据量,通过写入磁盘做持久化,再读入后恢复棋盘内容. package com.moson.sparsearray;import java.io.* ...
- python生成100个随机数、写入文件后再读取显示内容_Python3 实现随机生成一组不重复数并按行写入文件...
笔主在做一个项目要生成一组随机有序的整型数字,并按行输出到文本文件使用,恰好开始学习Python3,遂决定直接使用Python3解决 思路:与随机数相关的函数都要使用到random这个系统库,查看相关 ...
- Java实现将文本内容、网址链接url,生成二维码与反解析
2019独角兽企业重金招聘Python工程师标准>>> Java实现将文本内容.网址链接url,生成二维码与反解析 QR码的"QR"是Quick Response ...
- C语言将一字符串输入到数组(长度不超过80)后将其输出, 将其中的英文字母大小写互换后再将整个字符串输出。
题目 将一字符串输入到数组(长度不超过80)后将其输出, 将其中的英文字母大小写互换后再将整个字符串输出. 代码 # include <stdio.h> # include <str ...
- vuejs项目纯js导出word、在线下载富文本内容或者网页另存为word文件
所有前端导入导出方法集合: 前端必备技能知识:JS导出Blob流文件为Excel表格.Vue.js使用Blob的方式实现excel表格的下载(流文件下载)_勤动手多动脑少说多做厚积薄发-CSDN博客_ ...
- php fwrite 追加写入,PHP fwrite 函数:将字符串写入文件(追加与换行)
PHP fwrite() fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE . 语法: int fwrite( resource handle, string s ...
- org.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成。 的解决办法
问题描述 在基于微服务架构风格的项目开发过程中,为了提高快速开发的目的,提高开发效率,集成了 MyBatisPlus,对于 MyBatisPlus 封装的 CRUD API 接口已经非常强大了,但是有 ...
- c语言将字母存入字符串,C语言把资料读入字符串以及将字符串写入文件
C语言把文件读入字符串以及将字符串写入文件 1.纯C实现 FILE *fp; if ((fp = fopen("example.txt", "rb")) == ...
最新文章
- MIT警告深度学习正在逼近计算极限,网友:放缓不失为一件好事
- 算法--无重复字符的最长字串(详细)
- Oracle RMAN备份深入解析--联机备份
- android textview改变部分文字的颜色和string.xml中文字的替换及部分内容设置颜色、字体、超链接、图片...
- 网站推广——网站推广专员在优化网站中都有哪些技巧呢?
- python开发微信小程序-Python实现微信小程序支付功能
- 简单易用的倒计时js代码
- 如此生猛的纪录片,背后是难以置信的故事!
- Android 报错:Conversion to Dalvik format failed: ...
- 计算机技术基础的心得体会,计算机技术基础学习心得体会5篇范文.docx
- Fedora 24 x86 安装VirtualBox
- Python标准库11 多进程探索 (multiprocessing包)
- Android自定义View——动态ProgressBar之模仿360加速球
- 架构师之路 — 分布式系统 — 分布式网络分区难题
- ios 按钮下面加下划线_iOS 给部分文字加下划线四种方法
- 《数据分析:企业的贤内助[陈哲]》——读书笔记
- 如何实现 “中间这几个字要加粗,但是不要太粗,比较纤细的那种粗” ?
- 8583协议报文例子。
- 芯片验证周期——数字IC验证
- 【frp】使用 frp 实现内网穿透(CentOS 云服务器 + Win10)
热门文章
- win10的11对战平台突然无法启动魔兽
- 一段程序结束等待进行下一段程序_c++实战篇(十二),debug调试程序
- ue4 设置intellisence_UE4的配置界面写入
- ios 点生成线路 百度地图_网站地图全面解析
- 【实战】使用Job来修改Transform
- 【建议收藏】找不到免费的角色动画?来试试mixamo
- c++笔试必考内容:const使用详解
- dev控件调用html页面,Chrome开发工具 扩展 DevTools
- api返回的数据结构_JavaScript中的数据结构数组 和 栈
- OpenShift 4 - DevSecOps (3) - 用 RHACS 精细化管理云原生应用安全