我有这个代码用于将文本从一个文件传输到另一个文件,但它不起作用。它只将第二个和第三个字母从第一个文件传输到第二个而不是整个文本。谁能帮我?
FileInputStream br=new FileInputStream(ss);
FileOutputStream rb=new FileOutputStream(sd);
while(br.read()!=-1){
rb.write(br.read());
}
if(br!=null)
br.close();
if(rb!=null)
rb.close();
}
答案 0 :(得分:3)
每个read
读取一个字节,因为你在循环中执行两次读取,忽略每一个字节。
你需要做这样的事情:
int b;
while ((b=br.read()) != -1) {
rb.write(b);
}
更好的方法是使用更大的缓冲区来读取和写入字节,以便减少读写次数。