首页 > 代码库 > Java IO输入输出流 FileWriter 字符流
Java IO输入输出流 FileWriter 字符流
字节缓冲流
//为什么要使用包装流,使用包装流是为了提高读写操作的性能。 public class Packing_flowDemo { public static void main(String[] args) throws Exception { File file = new File("file/packing_flow.txt"); //包装流的写法,缓冲区内存大小。1024*8=8192 (byte) // BufferedOutputStream packing = new BufferedOutputStream(new FileOutputStream(file, true)); // packing.write("大家好!你好吗?how are your !".getBytes()); // packing.close(); //包装流的读写操作。 BufferedInputStream outPacking = new BufferedInputStream(new FileInputStream(file)); byte[] buffer = new byte[1024]; int len = -1; while ((len = outPacking.read(buffer)) != -1) { System.out.println(new String(buffer, 0, len)); } } }
public static void main(String[] args) throws IOException {//为了代码看起来美观一些,直接抛出去 File file=new File("moves/许嵩 - 素颜 - 现场版.mp3"); File file1=new File("moves/许嵩 - 素颜.mp3"); //text(file, file1); //text2(file, file1); //text3(file, file1); text4(file, file1); } private static void text(File file,File file1) throws IOException { //节点流的方法,一个一个字节的读和写 long begin=System.currentTimeMillis(); FileInputStream in=new FileInputStream(file); FileOutputStream out =new FileOutputStream(file1); int len=-1; while((len=in.read())!=-1){ out.write(len); } in.close(); out.close(); System.out.println(System.currentTimeMillis()-begin);//5547毫秒 } private static void text2(File file,File file1) throws IOException { //缓冲流的写法,一个一个字节的读和写 long begin=System.currentTimeMillis(); BufferedInputStream in=new BufferedInputStream(new FileInputStream(file)); BufferedOutputStream out =new BufferedOutputStream(new FileOutputStream(file1)); int len=-1; while(in.read()!=-1){ out.write(len); } in.close(); out.close(); System.out.println(System.currentTimeMillis()-begin);//63毫秒 } private static void text3(File file,File file1) throws IOException { //节点流的写法,一次性读取1024个字节 long begin=System.currentTimeMillis(); FileInputStream in=new FileInputStream(file); FileOutputStream out =new FileOutputStream(file1); int len=-1; byte[] buffer=new byte[1024]; while((len=in.read(buffer))!=-1){ out.write(buffer,0,len); } in.close(); out.close(); System.out.println(System.currentTimeMillis()-begin);//38毫秒 } private static void text4(File file,File file1) throws IOException { //缓冲流的写法,一次性读取1024个字节 long begin=System.currentTimeMillis(); BufferedInputStream in=new BufferedInputStream(new FileInputStream(file)); BufferedOutputStream out =new BufferedOutputStream(new FileOutputStream(file1)); int len=-1; byte[] buffer=new byte[1024]; while((len=in.read(buffer))!=-1){ out.write(buffer,0,len); } in.close(); out.close(); System.out.println(System.currentTimeMillis()-begin);//4毫秒 }
Java IO输入输出流 FileWriter 字符流
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。