io文本加密

文本加密习题

package io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

/**
 * 编写一个程序,该程序要能接受用户输入的文本行,并将输入的文本行进行编码加密。 要求如下:
 * 将文本行中的每个字符替换为字母表(a至z和A至z)中该字符后面的第13个字符。例如,字母“a"将替换为“n”,字母z将替换为“m”。
 * 用户输入“quit”后,程序应终止。
 * 
 * @author TangJiang 2017年11月18日 下午9:47:15
 *
 */
public class Encrypt {
	public static void main(String[] args) {

		try {
			// 输入流
			InputStreamReader isp = new InputStreamReader(System.in);
			BufferedReader br = new BufferedReader(isp);

			// 输出流
			OutputStreamWriter osp = new OutputStreamWriter(System.out);
			BufferedWriter bw = new BufferedWriter(osp);

			String str;
			//创建字符串缓冲区
			StringBuffer sb = new StringBuffer();

			while (true) {
				System.out.println("请输入要转换的内容:");
				if ((str = br.readLine()) != null) {

					if (str.equalsIgnoreCase("quit")) {
						break;
					} else {
						// 将输入字符串转换为字符数组
						char[] ch = str.toCharArray();
						for (int i = 0; i < ch.length; i++) {
							// 在原始缓冲字符串追加加密文本
							sb.append((char) (ch[i] + 13));
						}
						// 将字符数组转换为字符串
						String str1 = sb.toString();
						// 将字符串原始文本删除
						sb.delete(0, sb.length());
						System.out.println("加密后的文本为:");
						bw.write(str1);
						//将字符串写入缓冲区
						//写入一个行分隔符
						bw.newLine();
						bw.flush();
					}

				}
			}
			bw.close();
			br.close();
		} catch (Exception ef) {
			ef.printStackTrace();
		}
	}

}

  

posted @ 2017-11-18 22:29  一恋千里  阅读(251)  评论(0编辑  收藏  举报