多语言展示
当前在线:576今日阅读:168今日分享:49

java.io简介及其使用实例

java.io中FileOutputStream,FileInputStream的使用实例;
工具/原料

eclipse

方法/步骤
1

@Test public  void test() throws Exception {//没有d.txt文件,则创建一个,有的话就覆盖,(里面的内容覆盖掉)  FileOutputStream fos=new FileOutputStream('d.txt');  String s='我爱java!';//将字符串转成byte数组(string内存在的方法)  fos.write(s.getBytes());  fos.close();   }

2

@Test public void test02() throws Exception{  FileInputStream dis=new FileInputStream('d.txt');//dis.read()和dis.read(date)同时存在输出和想象的不一样????  //int len=dis.read();//空数组定义长度为100  byte[] date=new byte[100];

3

//获得读取文件内容的长度  int len2=dis.read(date);  System.out.println('文件内容大小'+len2);//将byte【】数组转成字符串,string类提供的方法  String str=new String(date,0,len2);  System.out.println(str); }

4

‍@Test public void test03() throws Exception{  File src=new File('赵雷 - 成都.mp3');  File des=new File('赵雷 - 成都 - copy.mp3');  FileInputStream fis=new FileInputStream(src);  FileOutputStream fos=new FileOutputStream(des);  int len=-1;  System.out.println('复制开始.......');  long start=System.currentTimeMillis();  while((len=fis.read())!=-1){   fos.write(len);  }  long end=System.currentTimeMillis();  System.out.println('复制结束。'+(end-start)); }

5

//文件读取到结束为-1;  int len=-1;  System.out.println('复制开始.......');//获取当前的时间毫秒数  long start=System.currentTimeMillis();  while((len=fis.read())!=-1){   fos.write(len);  }//获取结束后的时间毫秒数  long end=System.currentTimeMillis();//查看文件复制所用的时间  System.out.println('复制结束。'+(end-start)); }可以看到消耗的时间,大概一分钟零五秒,这这文件是5兆,如果是50兆,500兆,这样的效率太低因为读一个,写一个,所以效率比较低。我们编写一个缓冲区,一次读取10kb

6

IO流分为高级流和低级流  如何区分高级流和低级流   如果流的操作内容是文件那么该流就是低级流,如果   该流操作内容是一个流,那么该流就是高级流。   简单来说,和文件打交道的流时低级流。  如何区分输入流和输出流  流是不是输出还是输入,相对的参照物是内存,  如果将一个文本文件的内容输出到控制台显示,首先  需要将该文件的内容读取到内容中,然后输出到控制台。    流----> input 输入流    ----> output 输出流

注意事项

缓存10kb的程序下次写

推荐信息