我有这个灵魂:
public static void inBufferBooks() throws IOException
{
Reader inStreamBooks = null;
BufferedReader bufferIn = null;
try
{
inStreamBooks = new FileReader("Files/BufferBook.txt");
bufferIn = new BufferedReader(inStreamBooks);
char text[] = new char[10];
int i = -1;
while ((i = inStreamBooks.read(text, 0, 10)) != -1)
{
System.out.print(text);
}
当我在文本控制台打印字符末尾读取文件时,谁填写最后一个数组。 如何从文件中读取整个文本而没有来自最后一个数组的冗余字符?
答案 0 :(得分:0)
如何从文件中读取整个文本而没有来自最后一个数组的冗余字符?
使用值read
返回给您,以确定数组中有多少字符仍然有效。来自https://wordpress.org/plugins/json-api/other_notes/:
<强>返回:强>
读取的字符数,如果已到达流的末尾,则为-1
答案 1 :(得分:0)
你需要记住你可以阅读的字符怎么样,只打印那么多字符。
for (int len; ((len = inStreamBooks.read(text, 0, text.length)) != -1; ) {
System.out.print(new String(text, 0, len));
}
答案 2 :(得分:0)
要解决此问题,我在循环时更改,如下所示:
while((i = bufferText.read(text, 0, text.length)) != -1){
if(text.length == i){
System.out.print(text);
}else if (text.length != i){
System.out.print(Arrays.copyOfRange(text, 0, i));
}
感谢大家的帮助。