这个比较简单哦。先看下基础的类:
package cc.openhome;
import java.io.*;
public class IO {
public static void dump(InputStream src, OutputStream dest) throws IOException {
try (InputStream input = src; OutputStream output = dest) {
byte[] data = new byte[1024];
int length;
while ((length = input.read(data)) != -1) {
output.write(data, 0, length);
}
}
}
}
然后,我们写个复制命令的类
package cc.openhome;
import java.io.*;
public class Copy {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
IO.dump(new FileInputStream(args[0]), new FileOutputStream(args[1]));
System.out.print(true);
}
}
命令行执行结果会:
接着看:我获取一个网页地址,然后保存到文件:
package cc.openhome;
import java.io.*;
import java.net.*;
public class Download {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
URL url = new URL(args[0]);
InputStream src = url.openStream();
OutputStream dest = new FileOutputStream(args[1]);
IO.dump(src, dest);
}
}
你还可以自己尝试 ServerSocket,Servlet 把文档输出到浏览器。
串继承架构:
使用System.in 之前可以指定
System.setIn(new FileInputStream(args[0]));
System.setOut(new PrintStream(args[0]));
System.setErr(new PrintStream(args[0]));