一、代码及解释
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
public class Main {
public static int getValidLength(byte[] bytes){//获得缓存区中实际字节长
int i = 0;
if (null == bytes || 0 == bytes.length)
return i ;
for (; i < bytes.length; i++) {
if (bytes[i] == '\0'||bytes[i] == '\n')
break;
}
return i-1 ;
}
public static void main(String[] args) throws IOException {
File f1=new File("E:\\mytext.txt");//源文件
File f2=new File("E:\\mynewtxt.txt");//目标文件
InputStream is=System.in;//从键盘输入,以字节流
FileOutputStream os=new FileOutputStream(f1,true);//追加的形式
byte []bt=new byte[1024];//缓存字节数组
is.read(bt);//读入数组
os.write(bt,0,getValidLength(bt));//写入时忽略的空的字节
BufferedReader br=new BufferedReader(new FileReader(f1));//读源文件流
BufferedWriter wr=new BufferedWriter(new FileWriter(f2));//写源文件流
String s1=null;//缓存字符串
while((s1=br.readLine())!=null) {//写
wr.write(s1);//写
}
br.close();
wr.close();
}
}
二、结果