java学习之路----IO----合并流和文件操纵流
2013-11-26 11:25
453 查看
在IO中提供了两个与平台无关的数据操纵流,一个是数据输出流(DataOutputStream),一个是数据输入流(DataInputStream)
1.DataOutputStream例子
[align=left]public class DataOutputStreamDemo {[/align]
public static void main(String[]
args) throws Exception {
File f = new File("f:" +
File.separator + "a.txt");
[align=left]
[/align]
[align=left] DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));[/align]
[align=left] [/align]
[align=left] String names[]={ "衬衣","手套" ,"围巾" };[/align]
[align=left] float prices[]={93.9f,85.9f,12,3f};[/align]
[align=left] int nums[]={3,2,1};[/align]
[align=left] for(int i=0;i<names.length;i++){[/align]
[align=left] dos.writeChars(names[i]);[/align]
[align=left] dos.writeChars( "\t");[/align]
[align=left] dos.writeFloat(prices[i]);[/align]
[align=left] dos.writeChars( "\t");[/align]
[align=left] dos.writeInt(nums[i]);[/align]
[align=left] dos.writeChars( "\n");[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] dos.close();[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]2.在从a.txt里面读出来[/align]
[align=left]
[/align]
public class DataInputStreamDemo
{
public static void main(String[]
args) throws Exception{
[align=left] File f= new File("f:"+File.separator +"a.txt" );[/align]
[align=left] [/align]
[align=left] DataInputStream dis= new DataInputStream(new FileInputStream(f));[/align]
[align=left] [/align]
[align=left] char temp[]=new char[200];[/align]
[align=left] [/align]
[align=left] int len=0;[/align]
[align=left] [/align]
[align=left] String name= null;[/align]
[align=left] [/align]
[align=left] int num=0;[/align]
[align=left] [/align]
[align=left] float price=0.0f;[/align]
[align=left] [/align]
[align=left] char c=0;[/align]
[align=left] try{[/align]
[align=left] while(true ){[/align]
[align=left] while((c=dis.readChar())!='\t' ){[/align]
[align=left] temp[len]=c;[/align]
[align=left] len++;[/align]
[align=left] }[/align]
[align=left] name= new String(temp,0,len);[/align]
[align=left] [/align]
[align=left] price=dis.readFloat();[/align]
[align=left] dis.readChar();[/align]
[align=left] num=dis.readInt();[/align]
[align=left] dis.readChar();[/align]
[align=left] System. out.printf("名称:%s,价格:%5.2f,数量:%d\n" ,name,price,num);[/align]
[align=left] }[/align]
} catch (Exception
e) {
// TODO:
handle exception
[align=left] }[/align]
[align=left] dis.close();[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]价格:[/align]
名称:衬衣,价格:93.90,数量:3
名称:衬衣手套,价格:85.90,数量:2
名称:衬衣手套围巾,价格:12.00,数量:1
合并流的作用是把两个文件的内容合并到一起
public class SequenceDemo {
public static void main(String[]
args) throws Exception{
File f= new File("f:"+File.separator +"a.txt" );
File f1= new File("f:"+File.separator +"b.txt" );
File f3= new File("f:"+File.separator +"ab.txt" );
InputStream io1= null;//输入流1
InputStream io2= null;//输入流2
OutputStream out= null;//输出流1
SequenceInputStream sis= null;//合并流
io1= new FileInputStream(f);
io2= new FileInputStream(f1);
out= new FileOutputStream(f3);
sis= new SequenceInputStream(io1,
io2);
int temp=0;
while(
(temp=sis.read())!=-1){
out.write(temp);
}
sis.close();
io1.close();
io2.close();
out.close();
}
}
1.DataOutputStream例子
[align=left]public class DataOutputStreamDemo {[/align]
public static void main(String[]
args) throws Exception {
File f = new File("f:" +
File.separator + "a.txt");
[align=left]
[/align]
[align=left] DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));[/align]
[align=left] [/align]
[align=left] String names[]={ "衬衣","手套" ,"围巾" };[/align]
[align=left] float prices[]={93.9f,85.9f,12,3f};[/align]
[align=left] int nums[]={3,2,1};[/align]
[align=left] for(int i=0;i<names.length;i++){[/align]
[align=left] dos.writeChars(names[i]);[/align]
[align=left] dos.writeChars( "\t");[/align]
[align=left] dos.writeFloat(prices[i]);[/align]
[align=left] dos.writeChars( "\t");[/align]
[align=left] dos.writeInt(nums[i]);[/align]
[align=left] dos.writeChars( "\n");[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] dos.close();[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]2.在从a.txt里面读出来[/align]
[align=left]
[/align]
public class DataInputStreamDemo
{
public static void main(String[]
args) throws Exception{
[align=left] File f= new File("f:"+File.separator +"a.txt" );[/align]
[align=left] [/align]
[align=left] DataInputStream dis= new DataInputStream(new FileInputStream(f));[/align]
[align=left] [/align]
[align=left] char temp[]=new char[200];[/align]
[align=left] [/align]
[align=left] int len=0;[/align]
[align=left] [/align]
[align=left] String name= null;[/align]
[align=left] [/align]
[align=left] int num=0;[/align]
[align=left] [/align]
[align=left] float price=0.0f;[/align]
[align=left] [/align]
[align=left] char c=0;[/align]
[align=left] try{[/align]
[align=left] while(true ){[/align]
[align=left] while((c=dis.readChar())!='\t' ){[/align]
[align=left] temp[len]=c;[/align]
[align=left] len++;[/align]
[align=left] }[/align]
[align=left] name= new String(temp,0,len);[/align]
[align=left] [/align]
[align=left] price=dis.readFloat();[/align]
[align=left] dis.readChar();[/align]
[align=left] num=dis.readInt();[/align]
[align=left] dis.readChar();[/align]
[align=left] System. out.printf("名称:%s,价格:%5.2f,数量:%d\n" ,name,price,num);[/align]
[align=left] }[/align]
} catch (Exception
e) {
// TODO:
handle exception
[align=left] }[/align]
[align=left] dis.close();[/align]
[align=left] }[/align]
[align=left]
[/align]
[align=left]}[/align]
[align=left]
[/align]
[align=left]价格:[/align]
名称:衬衣,价格:93.90,数量:3
名称:衬衣手套,价格:85.90,数量:2
名称:衬衣手套围巾,价格:12.00,数量:1
合并流的作用是把两个文件的内容合并到一起
public class SequenceDemo {
public static void main(String[]
args) throws Exception{
File f= new File("f:"+File.separator +"a.txt" );
File f1= new File("f:"+File.separator +"b.txt" );
File f3= new File("f:"+File.separator +"ab.txt" );
InputStream io1= null;//输入流1
InputStream io2= null;//输入流2
OutputStream out= null;//输出流1
SequenceInputStream sis= null;//合并流
io1= new FileInputStream(f);
io2= new FileInputStream(f1);
out= new FileOutputStream(f3);
sis= new SequenceInputStream(io1,
io2);
int temp=0;
while(
(temp=sis.read())!=-1){
out.write(temp);
}
sis.close();
io1.close();
io2.close();
out.close();
}
}
相关文章推荐
- JAVA基础 day22 File类的方法和应用 利用递归获取目录下的所有文件 Properties类的应用(和IO技术结合,存取配置文件) 打印流和合并流等功能类的学习应用 切割文件练习
- javaIO学习之拆分与合并文件
- java学习之路----IO-------字节流和字符流的区别,文件的复制
- Java IO学习--(二)文件
- java_croe 学习笔记之新IO---java.nio 之内存映射文件
- Java IO学习【13】利用字节流复制文件的4种方法详解
- CoreJava学习7——IO之文件操作
- JAVA学习记录(三)——Java 流(Stream)、文件(File)和IO
- 使用java.io.*操作文件的拆分与合并,Application一例
- 20110830 java IO处理学习----一个自写文件复制类
- 使用java.io.*操作文件的拆分与合并,Application一例!
- Hibernate的学习之路十九(一对多的JavaBean编写和映射的配置文件的编写)
- 黑马程序员高级学习视频IO输入输出流 将一个指定目录下的java文件的绝对路径,存储到一个文本文件中
- Java IO学习【3】IO中异常的抛出/单个字符读取文件、数组读取字符文件
- java io文件的切割与合并(图片)
- 使用java.io.*操作文件的拆分与合并,Application一例!
- JAVA 文件与IO 学习总结(一)------File类
- java学习之路----IO---学习工作经历,乱码的产生
- Hibernate的学习之路十九(一对多的JavaBean编写和映射的配置文件的编写)
- 黑马程序员 【】java学习之路——TCP(三)客户端上传文件到服务器