准备一个文本文件(非二进制),其中包含ASCII码的字符和中文字符。
加密算法:
数字:
如果不是9的数字,在原来的基础上加1,比如5变成6, 3变成4
如果是9的数字,变成0
字母字符:
如果是非z字符,向右移动一个,比如d变成e, G变成H
如果是z,z->a, Z-A。
字符需要保留大小写
非字母字符
比如’,&^ 保留不变,中文也保留不变
package le;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Main{
public static void main(String[] args) {
File f=new File("D:\Jproject\流.txt");
File f1=new File("D:\Jproject\by.txt");
encodeFile(f, f1);
}
public static void encodeFile(File encodingFile, File encodedFile)
{
try(FileReader f2=new FileReader(encodingFile);FileWriter f3=new FileWriter(encodedFile) ) {
char ch[]=new char[(int)encodingFile.length()];
char ch1[]=new char[(int)encodingFile.length()];
f2.read(ch);
System.out.println("原来的");
for (char cf : ch) {
System.out.print(cf);
}
for (int i=0;i
算法很简单 其实应该用Character这个类里的方法 会更好 因为毕竟用Java写就应该体现Java的面向对象性质



