您的位置:首页 > 编程语言 > Java开发

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();

                   

          }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐