编写一个文件加解密程序,通过命令行完成加解密工作

package wenjianyuliu;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
//编写一个文件加解密程序,通过命令行完成加解密工作
public class FileCode {
 private static final int numOfEncAndDec=0x99;//加密解密密钥
 private static int dataOfFile=0;//文件字节内容

 public static void main(String[] args) {
  File srcFile=new File("E:\\新建文件夹\\poem.txt");//初始化文件
  File encFile=new File("E:\\新建文件夹\\poem1.txt"); //加密文件
  File decFile=new File("E:\\新建文件夹\\poem2.txt");  //解密文件

  try {
   //EncFile(srcFile,encFile);  //加密操作
   //DecFile(encFile,decFile);//解密操作

      EncFile(srcFile,decFile);  //加密操作
      DecFile(decFile,encFile);
  }catch(Exception e) {
   e.printStackTrace();
  }
 }
 private static void EncFile(File srcFile,File encFile)throws Exception{
  if(!srcFile.exists()) {
   System.out.println("source file not exixt");
   }
  if(!encFile.exists()) {
   System.out.println("encrypt file created");
   encFile.createNewFile();//若无加密文件,新建一个加密文件
  }
  InputStream fis=new FileInputStream(srcFile);
  OutputStream fos=new FileOutputStream(encFile);

  while((dataOfFile=fis.read())>-1) {//当读到文件内容时
   fos.write(dataOfFile^numOfEncAndDec);//将读出的内容加密后写入
  }
  fis.close();
  fos.flush();
  fos.close();
 }
 private static void DecFile(File encFile,File decFile)throws Exception{
  if(!encFile.exists()) {
   System.out.println("encrypt file not exixt");
  }
  if(!decFile.exists()) {
   System.out.println("decrypt file created");
   decFile.createNewFile();
  }
  InputStream fis=new FileInputStream(encFile);
  OutputStream fos=new FileOutputStream(decFile);

  while((dataOfFile=fis.read())>-1) {
   fos.write(dataOfFile^numOfEncAndDec);
  }
  fis.close();
  fos.flush();
  fos.close();
 }

}

原文地址:https://www.cnblogs.com/zql98/p/9981419.html

时间: 2024-10-17 23:06:21

编写一个文件加解密程序,通过命令行完成加解密工作的相关文章

课后作业2——编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

1.题目:编写一个程序,此程序从命令行接收多个数字,求和之后输出结果. 2.程序设计思想:由于命令行的参数均为字符串类型,所以要将字符串类型转换为整型,然后再进行数字的简单加和.求和运用for循环实现. 3.源程序://从命令行接收多个数字,求和之后输出结果.//20153291  冯怡晨public class SumResult {    public static void main(String[] args) { int sum=0; System.out.println("数字:&q

5分钟编写一个PHP留言板程序

1.创建数据库 以下为sql代码,推荐采用phpmyadmin创建数据库. CREATE DATABASE IF NOT EXISTS db_liuyan; USE db_liuyan; CREATE TABLE ly( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(20) NOT NULL, email VARCHAR(100) NOT NULL, content TEXT NOT NULL, date TIMEST

python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法

原文链接:https://www.cnblogs.com/dreamyu/p/7889959.html 在ide中执行python程序,都已经在默认的项目路径中,所以直接执行是没有问题的.但是在cmd中执行程序,所在路径是python的搜索路径,如果涉及到import引用就会报类似ImportError: No module named xxx这样的错误,解决方法: 在报错的模块中添加: import sys import os curPath = os.path.abspath(os.path

让.Net程序支持命令行启动

很多时候,我们需要让程序支持命令行启动,这个时候则需要一个命令行解析器,由于.Net BCL并没有内置命令行解析库,因此需要我们自己实现一个.对于简单的参数来说,自己写一个字符串比较函数来分析args参数也未尝不可.但是如果需要配置的参数较多的话,就得好好设计一下这个解析器了. 秉着不重复造轮子的原则,我在网上搜了一下,在Stackoverflow上发现有人问了同样的问题:Best way to parse command line arguments in C#?.简单的看了一下,整理出了其中

给go程序添加命令行参数

操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 需要应用程序根据不同的配置文件访问不同的服务器,希望程序启动时可以指定配置文件. 解决方案 package main import ( "os" "fmt" ) func main() { argsWithProg := os.Args if(len(argsWithProg) < 2) { fmt.Println("usage : ",argsWithProg

〖Linux〗上传单个文件到FTP的Shell命令行(函数)

1 #!/bin/bash - 2 #=============================================================================== 3 # 4 # FILE: ftp_put_file.sh 5 # 6 # USAGE: ./ftp_put_file.sh 7 # 8 # DESCRIPTION: 9 # 10 # OPTIONS: --- 11 # REQUIREMENTS: --- 12 # BUGS: --- 13 # NO

clion上添加程序的预定添加程序的命令行

例如我想在程序上,debug的状态下,添加命令行 //例如,本来生成是 mosquitto_sub //但我想在debug的状态下,添加命令行弄成如下,而方便我去测试 mosquitto_sub -h localhost -v -t "#" 就在下面的program arguments下,预定添加程序的命令行 原文地址:https://www.cnblogs.com/orangezs/p/8425445.html

在命令行中加参数的文件复制程序

这篇博文介绍使用命令行参数的编程方法,载体是用于文件复制的程序.这也是我用Markdown编辑器写的第一篇博文.Markdown在写<逆袭大学>时用过,写博文是第一次. 本文正文: 引子 下面的程序,可以完成由a.txt到b.txt的复制. #include <iostream> #include <fstream> using namespace std; int main( ) { char ch; ifstream infile("a.txt"

任务2--安装Intellj IDEA,编写一个简易四则运算小程序,并将代码提交到GitHub

我的GitHub地址为:https://github.com/Orangeyc123 首先呢,我并没有完整的完成任务,我觉得主要问题有以下几个 1.由于之前都没有听说过intellj IDEA这个软件,安装的时候就碰到了好多问题.对于我这个人来说呢,有一点很大的毛病就是对于从来没见过不知道的东西有一种畏惧心理.怕自己装的不对,怕自己有哪一个步骤和别人不一样而产生不同的结果. 比如 之前一直没有遇到过这种情况,显然有些不知所措,不过还好,问了学长以后我想以后出现这种问题应该so easy. 下载并