javaday52_IO流_打印流PrintStream和序列流SequenceInputStream
2017-05-17 20:48
344 查看
package java_Studing_day52_IO流12_PrintStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
/*
* PrintStream:
* 1.提供了多种打印方法,可以对多种数据类型值进行打印,并保持数据的表示形式,接收什么类型,打印什么类型
* 2.他不抛IOException
*
* 构造函数接收三种数据类型:
* 1.字符串路径 打印到路径所对应的文件中
* 2.File对象 打印到指定目录,(将字符串路径封装)
* 3.字节输出流 打印到流中
*
*
*
*
*
*
* ****/
PrintStream out=new PrintStream("printStream.txt");
out.write(609);//打印的int型,int只有8位,所以只打印最低8位到目的地,结果为a
//out.print(97);//将97先变成字符串保持原样将数据打印到目的地
out.close();
}
}
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
/*******
* 字符打印流:
* 构造函数可接收对象:
* 1.字符串路径 打印到文件中
* 2.File对象 打印到指定File对象中
* 3.字节输出流
打印到字节流中
* 4.字符输出流 打印到字符流中
*
*
*
*
* */
//开启字符字节转换流流,获取键盘录入
BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
//打印到系统输出流
PrintWriter out=new PrintWriter(System.out,true);//没有无参构造方法,后边带上Bloean型,如果是true,则自动刷新
PrintWriter out1=new PrintWriter(new FileWriter("out.txt"),true);//字符输出流将文件地址封装起来,后边带上Bloean型,如果是true,则自动刷新
String line =null;
//读取键盘输入的数据
while((line=bfr.readLine())!=null){
if("over".equals(line))
break;
//将字符串变成大写打印到目的地:系统输出流
out1.println(line.toUpperCase());
//out.println();
//out.flush();
}
out.close();
bfr.close();
}
}
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;
/***********************
* sequenceInputStream:
* 序列流,作用:将多个流合并到一个流中,并序列化
*
*
*
* */
public class sequenceInputStream {
public static void main(String[] args) throws IOException {
/****
* 需求:将1.txt 2.txt 3.txt文件中的信息合并到一个文件中
*
*
* */
/**************************方法一*************************/
//新建可增长的对象数组集合,但是vector效率低
// Vector<FileInputStream> v=new Vector<FileInputStream>();
//添加三个流到集合中
// v.add(new FileInputStream("f:\\1.txt"));
// v.add(new FileInputStream("f:\\2.txt"));
// v.add(new FileInputStream("f:\\3.txt"));
//取到集合的枚举
// Enumeration<FileInputStream> en=v.elements();
/**************************方法二*************************/
ArrayList<FileInputStream> arr=new ArrayList<FileInputStream>();
arr.add(new FileInputStream
4000
("F:\\1.txt"));
arr.add(new FileInputStream("F:\\2.txt"));
arr.add(new FileInputStream("F:\\3.txt"));
//用迭代器代替枚举
final Iterator<FileInputStream> it=arr.iterator();
//直接调用Collection的静态方法返回一个枚举对象
Enumeration<FileInputStream> en2=Collections.enumeration(arr);
/*********************************************************************************************************
//创造一个枚举对象
Enumeration<FileInputStream> en1=new Enumeration<FileInputStream>(){
//迭代每一个元素
public boolean hasMoreElements(){
return it.hasNext();
}
public FileInputStream nextElement(){
return it.next();
}
};
*******************************************************************************************************************/
//将多个源合并为一个源
SequenceInputStream sis=new SequenceInputStream(en2);
FileOutputStream fos=new FileOutputStream("f:\\123副本1.txt");
byte[] buf=new byte[1024];
int len=0;
while((len=sis.read(buf))!=-1){
fos.write(buf);
}
fos.close();
sis.close();
}
}
import java.io.IOException;
import java.io.PrintStream;
一,printStream
public class printStreamDemo {public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
/*
* PrintStream:
* 1.提供了多种打印方法,可以对多种数据类型值进行打印,并保持数据的表示形式,接收什么类型,打印什么类型
* 2.他不抛IOException
*
* 构造函数接收三种数据类型:
* 1.字符串路径 打印到路径所对应的文件中
* 2.File对象 打印到指定目录,(将字符串路径封装)
* 3.字节输出流 打印到流中
*
*
*
*
*
*
* ****/
PrintStream out=new PrintStream("printStream.txt");
out.write(609);//打印的int型,int只有8位,所以只打印最低8位到目的地,结果为a
//out.print(97);//将97先变成字符串保持原样将数据打印到目的地
out.close();
}
}
二,字符打印流,PrintWrite
import java.io.BufferedReader;import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
/*******
* 字符打印流:
* 构造函数可接收对象:
* 1.字符串路径 打印到文件中
* 2.File对象 打印到指定File对象中
* 3.字节输出流
打印到字节流中
* 4.字符输出流 打印到字符流中
*
*
*
*
* */
//开启字符字节转换流流,获取键盘录入
BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
//打印到系统输出流
PrintWriter out=new PrintWriter(System.out,true);//没有无参构造方法,后边带上Bloean型,如果是true,则自动刷新
PrintWriter out1=new PrintWriter(new FileWriter("out.txt"),true);//字符输出流将文件地址封装起来,后边带上Bloean型,如果是true,则自动刷新
String line =null;
//读取键盘输入的数据
while((line=bfr.readLine())!=null){
if("over".equals(line))
break;
//将字符串变成大写打印到目的地:系统输出流
out1.println(line.toUpperCase());
//out.println();
//out.flush();
}
out.close();
bfr.close();
}
}
三,序列流SequenceInputStream
import java.io.FileInputStream;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;
/***********************
* sequenceInputStream:
* 序列流,作用:将多个流合并到一个流中,并序列化
*
*
*
* */
public class sequenceInputStream {
public static void main(String[] args) throws IOException {
/****
* 需求:将1.txt 2.txt 3.txt文件中的信息合并到一个文件中
*
*
* */
/**************************方法一*************************/
//新建可增长的对象数组集合,但是vector效率低
// Vector<FileInputStream> v=new Vector<FileInputStream>();
//添加三个流到集合中
// v.add(new FileInputStream("f:\\1.txt"));
// v.add(new FileInputStream("f:\\2.txt"));
// v.add(new FileInputStream("f:\\3.txt"));
//取到集合的枚举
// Enumeration<FileInputStream> en=v.elements();
/**************************方法二*************************/
ArrayList<FileInputStream> arr=new ArrayList<FileInputStream>();
arr.add(new FileInputStream
4000
("F:\\1.txt"));
arr.add(new FileInputStream("F:\\2.txt"));
arr.add(new FileInputStream("F:\\3.txt"));
//用迭代器代替枚举
final Iterator<FileInputStream> it=arr.iterator();
//直接调用Collection的静态方法返回一个枚举对象
Enumeration<FileInputStream> en2=Collections.enumeration(arr);
/*********************************************************************************************************
//创造一个枚举对象
Enumeration<FileInputStream> en1=new Enumeration<FileInputStream>(){
//迭代每一个元素
public boolean hasMoreElements(){
return it.hasNext();
}
public FileInputStream nextElement(){
return it.next();
}
};
*******************************************************************************************************************/
//将多个源合并为一个源
SequenceInputStream sis=new SequenceInputStream(en2);
FileOutputStream fos=new FileOutputStream("f:\\123副本1.txt");
byte[] buf=new byte[1024];
int len=0;
while((len=sis.read(buf))!=-1){
fos.write(buf);
}
fos.close();
sis.close();
}
}
相关文章推荐
- 10.Java基础:常见IO流----->打印流:PrintStream、PrintWriter
- JAVA——IO流 之 处理流之打印流:PrintStream与printWriter(3)
- Java IO操作——打印流(PrintStream、PrintWriter)的使用
- Java基础之打印流对象:PrintWriter / PrintStream
- IO流 打印流 PrintStream args[0] System.out是PrintStream类型的
- java 打印流(PrintStream)
- JAVA File类、IO流体验与简介(字节流、字符流、序列流、打印流、编码、递归)
- IO流之打印流PrintStream和PrintWriter
- 黑马程序员--Java基础学习之IO流之File类、Properties对象、打印流、序列流等
- [Java 12 IO] PrintStream 打印流 new PrintStream(new FileOutputStream(new File("/home。。
- java--io流-打印流,序列流,操作对象,管道流,RandomAccessFile,操作字节数组
- [Java 12 IO] PrintStream 打印流 new PrintStream(new FileOutputStream(new File("/home。。
- java 打印流(PrintStream,PrintWriter)
- Java IO流系列(补)—— 打印流、序列流、对象流
- 黑马程序员——Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
- 黑马程序员——Java基础——IO流笔记(PrintStream使用示例)
- java语言编程IO流之PrintStream打印流3
- 黑马程序员--Java面向对象——IO流 总结应用(打印流)
- 黑马程序员_Java基础_IO流_打印流,合并流,分割文件,对象持久化,管道流...其他常用流
- 黑马程序员--IO流之PrintStream:打印流