这是我的代码,用于FileChannel
写入文件:
package logging;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class Test {
public static void main(String args[]){
try {
RandomAccessFile rf = new RandomAccessFile("C:\\Users\\kalyan\\Desktop", "rw");
FileChannel fc = rf.getChannel();
ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
byteBuffer.putChar('a');
while(byteBuffer.hasRemaining()) {
fc.write(byteBuffer); //usig filechannel to write to the file
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的例子中,我使用FileChannel
'swrite
方法写入文件,即fc.write
.
为什么我们不应该使用rf.write
已经存在于 中的RandomAccessFile
?