问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java读取指定的文本文件,加密后写入另一个文件.

发布网友 发布时间:2022-05-02 18:54

我来回答

1个回答

热心网友 时间:2022-06-26 02:04

按照你的要求编写简单加密(把每个英文字母向后移动3个字母)的Java程序如下:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class CA {
 public static void main(String[] args) {
  BufferedReader br = null;//定义一个缓存读取类
  BufferedWriter bw = null;//定义一个缓存写入类
  try {
   File f_Source=new File("source.txt");//原始文件
   br=new BufferedReader(new FileReader(f_Source));//从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
   File f_Target=new File("target.txt");//目标文件
   bw=new BufferedWriter(new FileWriter(f_Target));//将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
   String s="";//定义一个临时变量,临时存储每行的文本
   while((s=br.readLine())!=null){//读取文件中的每一行并存入临时变量s,直到文件末尾.
    s=s.trim();//去掉每行前后的空格
    String str="";//定义一个临时变量,准备写入的一行文本
    for(int i=0;i<s.length();i++){//遍历这一行文本的每个字符
     char ch=s.charAt(i);//把这一行文本的中一个字符赋给一个字符变量
     if(Character.isLetter(ch)){//如果这个字符是字母
      if(Character.isUpperCase(ch)){//如果这个字符是大写字母
       if(ch-'A'+3>25){//如果这个字符向后移3个字符大于Z
        ch=(char) ('A'+(ch-'A'+3)%26);//这个字符从A向后移相应的字符
       }else{//如果这个字符向后移3个字符不大于Z
        ch=(char) (ch+3);//这个字符向后移3个字符
       }
      }
      if(Character.isLowerCase(ch)){//如果这个字符是小写字母
       if(ch-'a'+3>25){//如果这个字符向后移3个字符大于z
        ch=(char) ('a'+(ch-'a'+3)%26);//这个字符从a向后移相应的字符
       }else{//如果这个字符向后移3个字符不大于z
        ch=(char) (ch+3);//这个字符向后移3个字符
       }
      }
     }
     str=str+ch;//把每个加密或没加密的字符重新拼装成一行字符串
    }
    bw.write(str);//把这一行字符串写入目标文件
    bw.newLine();//目标文件写入换行符
   }
  } catch (Exception e) {//捕获异常
   e.printStackTrace();//输出异常信息
  }finally{
   try {
    bw.close();//关闭写入缓冲流
    br.close();//关闭读取缓冲流
   } catch (Exception e) {//捕获异常
    e.printStackTrace();//输出异常信息
   }
  }
  System.out.println("文件加密完毕!");
 }
}

运行结果:

source.txt文件内容

we are the world.
abc xyz.

target.txt文件加密内容

zh h wkh zruog.
def abc.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 愿得一人心 白首不分离!什么意思 java效率问题 现在需要将数据库中的上千万条数据 写入txt文件 字符集 utf–8 愿得一人心,白首不相离”的出处 vc++ 将数据写入txt文件,换行问题 万用表怎么测试窗户漆层的导电率? 愿得一人心,白首不相离。谁会这首诗的全部? java中键盘写入文件的内容怎么不换行啊,请问高手,如何输入操作才能让输入的文本按照自己的意愿换行啊? java 文件输出流 txt文件里没有换行 愿得一人心,白首不相离的下文是什么 个人养老退休金与单位缴纳的社会统筹有何关系 个人养老退休金与单位缴纳的社会统筹有何关系 愿得一人心 白首不相离 全文是什么?出自哪里? 退休人员养老金新政策 什么是.企业退休人员统筹内月基本养老金 愿得一人心,白首不相离.君记我一瞬,我念君半生出自哪里 支付社保统筹退休金属于什么会计科目 愿得一人心,白首不相离全诗内容是什么? 9. 甲公司2009年度发生的管理费用为6 600万元,其中:以现金支付退休职工统筹退休金 1 050万元和管理人员 “愿得一人心,白首不相离。”出自那首诗?全文是什么? 统筹外养老金怎么购买?统筹外养老金什么时候可以购买? 愿得一人心 白首不相离什么意思 4平方电线70摄氏度时最小绝缘电阻 大家有谁知道2001年硬币的电阻率值或者是电导率? 小米扫地机器人的污水网是什么 工具栏怎么还原到下面 黄色百合 和 白色百合 那种比较香? 黄百合的样子 黄百合的介绍 小说《百合花》 我是做微商的.现在我想去用淘宝上的图片,我怎么弄把照片弄到手机上 女老师脱鞋晾脚 为什么不少老师在办公室里把鞋脱了? 我们的班主任是女的,穿高跟鞋,每次上课都脱鞋子,然后把鞋子甩到一边。 作为老师,班里有女生上课脱鞋可以采取怎样的-惩罚方式?最好多列几条,谢谢 被老师脱鞋脱袜子过分吗 女老师上课可以穿拖鞋吗? 我是一个小学生我们老师是个五十多岁的老头为什么他上课穿皮鞋白袜子还喜欢脱鞋 怎么办?老师有洁癖,怕班级地脏,让我们进班级必须脱鞋,穿袜子或者光脚上课! 星期天去老师家补课,我一进门老师就让我脱鞋,然后就让我穿袜子补课,我好尴尬啊 - 信息提示