我有这段代码可以将文本从一个文件传输到另一个文件,但是它不起作用。它仅将第二个和第三个字母从第一个文件传输到第二个文件,而不是整个文本。谁能帮我?

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();

}

最佳答案

每个read读取一个字节,因为您在循环中进行了两次读取,因此忽略了第二个字节。

您需要执行以下操作:

int b;
while ((b=br.read()) != -1) {
    rb.write(b);
}


更好的办法是使用更大的缓冲区来读取和写入字节,以减少读取和写入调用。

关于java - 如何使用Java I/O将文本从一个文件传输到另一个文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44615679/

10-11 17:12