import java.io.*;
import java.util.*;public class TestBufferedOutputStream{
public static void main(String args[])throws IOException{
List<byte []> li=new ArrayList<byte []>();
BufferedInputStream bi
=new BufferedInputStream(new FileInputStream("1.txt"));
BufferedOutputStream bo
=new BufferedOutputStream(new FileOutputStream("2.txt"));
byte data[]=new byte[8];
while(bi.read(data)!=-1){
li.add(data);
}
for(int i=0;i<li.size();i++){
bo.write(li.get(i));
bo.write(13);
bo.write(10);
}
bo.flush();
bo.close();
bi.close();
}
}
怎么得到的是重复的内容?
import java.util.*;public class TestBufferedOutputStream{
public static void main(String args[])throws IOException{
List<byte []> li=new ArrayList<byte []>();
BufferedInputStream bi
=new BufferedInputStream(new FileInputStream("1.txt"));
BufferedOutputStream bo
=new BufferedOutputStream(new FileOutputStream("2.txt"));
byte data[]=new byte[1];
while(bi.read(data)!=-1){
bo.write(data);
}
bo.write(13);
bo.write(10);
bo.flush();
bo.close();
bi.close();
}
}
这样写没有乱码,这个data缓冲数组多大有要求吗,请教
就有一个方法newLine() 写入一个行分隔符。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个新行 ('\n') 符。 这样还跨平台,在什么操作系统都是写入换行。而且,根据编码的不同,你这样直接8个字节断行,会把字符从中间断开,字符就被破坏了。而用bufferedWriter可以保证字符的完整。
1.txt文件里内容:
1234567890
9876543210
abcdefghij
ABCDEFGHIJ