题意太不清晰了!!实际上int read4(char[] buf); 是这样用的 自己建一个空的char buf 四位的 调用这个函数 就会从file读取4位存入这个buf
所以这个function要每次讲buf4里面的贴到buf后面
/* The read4 API is defined in the parent class Reader4.
int read4(char[] buf); */
public class Solution extends Reader4 {
/**
* @param buf Destination buffer
* @param n Maximum number of characters to read
* @return The number of characters read
*/
public int read(char[] buf, int n) {
char [] buf4 = new char [ 4 ];
int num = 4;
int count = 0;
while ( num == 4 && count < n ){
num = read4 ( buf4 );
int len = Math.min ( num, n - count );
for ( int i = 0; i < len; i ++ ){
buf [ count + i ] = buf4 [ i ];
}
count += num;
}
return count > n ? n : count;
}
}
本文介绍了一个名为read4的API,并通过一个具体实现案例来展示如何使用该API来读取文件内容。文章中提供的解决方案是通过继承Reader4类并重写read方法,该方法接受一个字符数组作为目标缓冲区以及一个最大读取字符数。通过创建一个四字符长度的缓冲区buf4,不断调用read4方法填充buf4,并将其内容复制到指定的目标缓冲区buf中,直到达到最大读取数量或文件结束。
343

被折叠的 条评论
为什么被折叠?



