黑马程序员技术交流社区
标题:
关于io流的问题
[打印本页]
作者:
李成航
时间:
2012-3-8 17:22
标题:
关于io流的问题
在实现由输入流到输出流的时候,我一般是先将输入流读到一个字节数组中,然后再把这个数组写到输出流中。我想问大家有没有更快的方法,因为每次都要一个字节数组来过渡显得麻烦。如:
FileInputStream fis=new FileInputStream("1.txt");
byte[] b=new byte[10240];//用于过渡的数组??可以不要吗?
int i=fis.read(b);
FileOutputStream fos=new FileOutputStream("copy1.txt");
fos.write(b,0,i);
作者:
马胜平
时间:
2012-3-8 17:26
你可以用字符流,以及它的包装流,一行一行的读取
作者:
djx900
时间:
2012-3-8 17:26
可以啊 1个1个读呗 比如说 小学的时候都是走路去上学 初中都是骑车子去上学 byte 只是一个容器 就像生活中的交通工具 提供效率作用
作者:
dangfei
时间:
2012-3-8 17:31
字节数组存储你读取的字符,它的长度也决定了你每次读取字符的个数,lz这里就是一次可以读取10240个字符,实际上这样减少了读取次数,加快了程序效率。
也可不要这个数字,但每次就只能读一个字符,这样本来读写一次就完成的现在要读写10240次。lz麻烦点,电脑就可以省很多事了,呵呵。
作者:
a504079589
时间:
2012-3-8 18:51
字节流拷贝有三种:
1: FileInputStream FileOutputStream
2: 定义一个数组
3: BufferedInputStream BufferOutputStream
不用那个数组是可以的,就是第一种,一个字节一个字节的拷贝, 拷贝速度比较慢, 定义一个数组是一组一组的拷贝, 还有一种是带有缓冲区的(BufferedInputStream BufferedOutputStream) 是内置缓冲区, 定义数组的方式是最快的
作者:
刘泰
时间:
2012-3-8 19:38
可以用一个管道流,如
InputStream is=new InputStream(System.in);
BufferedReader br=new BufferedReader(is);
读的时候可以用readLine()来读;这样比一个一个读写要快
作者:
lipanfeng
时间:
2012-3-8 20:58
可以用缓冲区,按行读取
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2