package yuwei.com;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;
/*
* PrintStream字节打印流
* 构造函数可以接收的参数
* 1、file对象
* 2、String
* 3、字符输出流
*
* PrintWriter字符打印流
* 1、file对象
* 2、String
* 3、字符输出流
* 4、字节输出流
*
* */
public class PrintStreamDemo {
//键盘输入到控制台
public static void BufferedReaderDemo() throws IOException {
//读取键盘
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(System.out);
String line = null;
//读取键盘一行数据
while((line = bufr.readLine())!=null){
//写入控制台
out.write(line.toUpperCase());
out.println();
out.flush();
}
out.close();
bufr.close();
}
//键盘输入到文件
public static void readerToFile() throws IOException {
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(new FileWriter("键盘输入到文件.txt"));
String line = null;
while((line = bufr.readLine())!=null){
//写入控制台
out.write(line.toUpperCase());
out.println();
out.flush();
}
out.close();
bufr.close();
}
//合并流
public static void join() throws IOException {
Vector<FileInputStream> v = new Vector<FileInputStream>();
v.add(new FileInputStream("D:\\java学习\\IoStudy\\spit\\2.jpg"));
v.add(new FileInputStream("D:\\java学习\\IoStudy\\spit\\1.jpg"));
v.add(new FileInputStream("D:\\java学习\\IoStudy\\spit\\3.jpg"));
//返回此向量的组件的枚举。返回的 Enumeration 对象将生成此向量中的所有项。生成的
//第一项为索引 0 处的项,然后是索引 1 处的项,依此类推。
Enumeration<FileInputStream> en = v.elements();
SequenceInputStream sis = new SequenceInputStream(en);
//
FileOutputStream fos = new FileOutputStream("D:\\java学习\\IoStudy\\spit\\合并.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] buf = new byte[1024*1024];
int len = 0;
while((len = sis.read(buf))!=-1) {
bos.write(buf,0,len);
}
bos.close();
sis.close();
}
//切割
public static void spilt() throws IOException {
FileInputStream fi = new FileInputStream("完成复制的图片.jpg");
BufferedInputStream bis = new BufferedInputStream(fi);
FileOutputStream fos = null;
byte[] buf = new byte[1024*1024];
int len = 0;
int count = 0;
while((len = bis.read(buf))!=-1) {
fos = new FileOutputStream("D:\\java学习\\IoStudy\\spit\\" + (count++) +".txt");
fos.write(buf,0,len);
}
bis.close();
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//BufferedReaderDemo();
//readerToFile();
//join();
//spilt();
}
}
打印流,切割,合并
最新推荐文章于 2024-04-28 17:54:04 发布