package chap16;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;
public class CodeTester {
/**
* @param args
*/
public static void main(String[] args) throws Exception
{
Scanner cin = new Scanner(System.in);
System.out.println("input the url of input file");
//输入inptufile的路径
String inputfile = cin.next();
System.out.println("input the url of the outfile");
String outputfile = cin.next();
Code myCode = new Code(3);
myCode.enFile(inputfile, outputfile);
}
}
class Code {
public Code(int akey) {
this.key = akey;
}
/*
* 输入输出文件交互 @param infile 输入文件路径 @param outfile 输出文件路径
*
*/
public void enFile(String infile, String outfile) throws Exception {
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(infile);
out = new FileOutputStream(outfile);
changeCode(in, out);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (in == null)
in.close();
if (out == null)
out.close();
}
}
/*
* 字符转换 @param FileInputStream 输入流 @param FileOutputStream 输出流
*/
public void changeCode(InputStream in, OutputStream out) {
boolean done = false;
while (!done) {
try {
int next = in.read();
if(next == -1) done = true;
else
{
// in.read()输出的是一些整型的值,强制转换成byte类型
byte temp = (byte) next;
// 进行加密
byte c = this.jiami(temp);
out.write(c);
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
/*
* 对字符加密 @param byte b 待加密的字符 @return code 加密后的字符
*/
public byte jiami(byte b) {
byte temp = (byte) (b + this.key);
return temp;
}
// 钥匙
private int key;
}
运行结果:
input the url of input file
O:\\myproject\\J2SE项目\\Test\\src\\bejiami.txt
input the url of the outfile
O:\\myproject\\J2SE项目\\Test\\src\\afjiami.txt
分享到:
相关推荐
关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream
IO流文档,相关IO流的说明文档.............
InputStream与OutputStream及File间互转
InputStream is = new FileInputStream(file1);// 打开文件 byte[] cont = new byte[(int) file1.length()]; is.read(cont);// 读取文件 for (int i = 0; i ; i++) { System.out.print((char) ...
NULL 博文链接:https://shihuan830619.iteye.com/blog/2094068
java.io.Reader 和 java.io.InputStream 的区别
这是本人多年的积累,可是我的高手老师讲的!!口传心受呀,高手必看!呵呵
JavaIO类InputStream/OutputStream继承关系图,使您对IO类一目了然
java的IO流总结:包含Inputstream,OutputStream,writer和reader
IO流,file类,IO编程练习题,IO编程面试题,InputStream,OutputStream等等流操作
当你还是一个java初学者的时候,是不是还在为你没有一个好的源代码模仿去学习而烦恼,这个代码很容易看懂,对你学习很有帮助
javaIO经典案例,inputStream、outputStream、fileInputStream、fileOutputStream、管道流等经典案例
IO 概述 File 类 IO 流分类 InputStream & Reader OutputStream & Writer RandomAccessFile 类 对象的序列化
字节流:按照字节读取数据(InputStream、OutputStream) 字符流:按照字符读取数据(Reader、Writer) 功能不同: 节点流:可以直接从数据源或目的地读写数据。 处理流:不直接连接到数据源或目的地,是处理流的流...
使用最简单的InputStream输入流和OutputStream输出流,制作了文件之间的粘贴复制功能。程序已测试,可以把一个word文件中的内容完整复制到另一个word文件中。
> 能够生成low poly风格的图片,Android版本的实现 效果图 使用方法 LowPoly.generate(inputStream,outputStream); 或者 /** * 生成low poly风格的图片 * * @param inputStream 源图片 * @param outputStream ...
Java IO 体系 - Java IO 体系 - 传统的 BIO - BIO NIO 和 AIO 的区别 - 什么是流 - 流的分类 - 节点流和处理流 - Java IO 的核心类 File - Java IO 流对象 - 字节流对象 - InputStream - OutputStream -...
java io 详解 inputstream outputstream 装饰模式
分析Java常用IO流,包括InputStream、OutputStream、FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、FileReader、...
TelnetClient包,Telnet...然后,可以使用getInputStream() 和 getOutputStream() 方法获取用于通过Telnet连接发送和接收数据的InputStream和OutputStream 。使用完流后,必须调用 disconnect 而不是简单地关闭流。