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
分享到:
相关推荐
IO流是Java中的一种基本的数据交换方式,通过InputStream和OutputStream可以实现数据的读取和写入,而Reader和Writer可以实现字符流的读取和写入。IO流的知识点很多,需要认真学习和掌握。 InputStream的类型: * ...
关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream
通过上述方法,开发者可以在处理Java I/O操作时灵活地在`InputStream`、`OutputStream`和`File`之间进行转换,从而实现各种文件读写和数据传输的需求。理解并熟练运用这些技巧是编写高效、健壮的Java程序的关键。
在Java中,它们是Java.io包下的基础类,提供了多种子类来处理不同类型的输出和输入操作,如`FileOutputStream`和`FileInputStream`用于文件操作,`SocketOutputStream`和`SocketInputStream`用于网络通信等。...
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) ...
此外,值得注意的是,虽然`InputStream`和`OutputStream`以及`Reader`和`Writer`之间存在类似的关系,但在设计上,`InputStream`和`OutputStream`更偏向于底层数据传输,而`Reader`和`Writer`则提供了更高级的字符...
InputStream 和 OutputStream InputStream 是一种输入流,用于读取数据。InputStream 可以用来读取文件、网络数据等。 OutputStream 是一种输出流,用于写入数据。OutputStream 可以用来写入文件、网络数据等。 ...
InputStream和OutputStream是Java.io包下的抽象类,是所有字节流的基类。InputStream代表字节输入流,而OutputStream则表示字节输出流。在Java中,文件操作通常涉及到数据的读取和写入,这两个类及其子类就提供了...
Java中的IO API可以分为多种不同的编程方式,例如,使用基本的InputStream和OutputStream来实现文件复制,使用缓冲IO来提高性能,使用NIO来实现高性能的IO操作等。 在实际应用中,需要根据实际情况选择合适的IO API...
`InputStream`、`OutputStream`、`Reader`和`Writer`是Java IO流的基础类,它们提供了读写文件的基本接口。本篇文章将深入讲解这些类的用法,并提供实际的代码示例,帮助初学者更好地理解和应用。 1. `InputStream`...
Java IO流和Socket是Java编程语言中用于处理输入输出和网络通信的重要概念。在这个示例中,我们将深入探讨如何利用Java IO流与Socket实现简单的文本传输。对于初学者来说,理解这两个概念及其交互是非常关键的。 ...
InputStream和OutputStream是抽象类,它们提供了基本的读写操作,如read()和write()方法。原始处理器(适配器)是用来将不同类型的输入/输出资源转换为InputStream或OutputStream的类。例如,ByteArrayInputStream...
在处理文本数据时,应优先考虑使用Reader和Writer,只有在特定场景下(如处理二进制数据或特定字节格式)才使用InputStream和OutputStream。 8. **其他类和接口**: Java I/O还包括随机访问文件的RandomAccessFile,...
JavaIO类InputStream/OutputStream继承关系图,使您对IO类一目了然
在Java IO编程中,我们首先会接触到`java.io`包,这个包包含了众多类和接口,如InputStream、OutputStream、Reader、Writer等,它们构成了Java IO的核心。InputStream和OutputStream是处理字节流的基类,而Reader和...
在使用 InputStream 和 OutputStream 时,需要注意正确地创建文件流对象,例如,创建文件"file.txt"的字节输入流,正确的语句应该是 FileInputStream in = new FileInputStream("file.txt");。 Java 的 IO 处理机制...
- 基于`java.io`包,主要使用`File`、`InputStream`、`OutputStream`、`Reader`和`Writer`等类。 - 采用流模型,读写操作是同步且阻塞的,意味着线程会等待操作完成,这可能导致资源浪费和性能瓶颈。 - 网络API如...
在Java IO系统中,所有的流类都继承自InputStream或OutputStream基类,这就为实现Decorator模式提供了基础。 **Java IO流**: Java中的IO流分为字节流和字符流两类,字节流处理单个字节的数据,字符流处理Unicode...
java的IO流总结:包含Inputstream,OutputStream,writer和reader