求一java程序,实现我要求的功能(见内容)
来源:百度知道 编辑:UC知道 时间:2024/08/23 21:45:48
可以打开一个文本文件,将其中所有如下格式文字加密,加密表见后。加密后按顺序输出到另一个文本文件中。如:
0032 xpqzxyxxx
转换为:
0032 198310111 ""不是空格,复制到写字板中可见
加密表:
空格=i 1=x 2={ 3=z 4=} 5=| 6= 7=~ 8=q 9=p 0=y .=g a=( b=+ c=* d=- e=, f=/ g=. h=! i= j=# k=" l=% m=$ n=' o=& p=9 q=8 r=; s=: t== u=< v=? w=> x=1 y=0 z=3 `=)
注意:字符“i”是“空格”的密文,反过来“空格”也是“i”的密文。关于字符“6”的密文,在本文文档里就是显示“”并不是“空格”!
思路:
查找到0032格式的字符串a,将该字符串延后一定位数后,找到开头的字符串b,加密,判断结尾方法自己设定。
满意还会加分!本人积分733,足够了吧?
补充:已经加你了.
===
以下是源代码,经测试通过,请楼主存为EncryptFile.java文件,
编译:
javac EncryptFile.java
运行时输入:
java EncryptFile
然后按照提示,输入包含完整路径的文件名如:d:\abc.txt。程序运行完毕后会自动生成一个:d:\Encript_abc.txt文件。注意:所生成的文件和楼主的文件在同一个目录下,只不过名称多了个Encript_而已。
希望对你有所帮助。
===========================
import java.util.Scanner;
import java.io.*;
import java.util.HashMap;
public class EncryptFile {
public static void main(String[] args) {
System.out.println("请输入加密文件的完整文件名(包括路径,如:d:\\abc.txt):");
Scanner scanner = new Scanner(System.in);
String filename = scanner.nextLine();
if(filename==null || filename.length()<1) {
System.out.println("文件未指定,请重试。");
System.exit(0);
}
HashMap<String,String> m =new HashMap<String,String>(); //加密表
String startFlag="0032 ";//替换行起始标志
//初始化加密表
m.put("i", " ");