骑单车的少年 2021-04-08 20:47 采纳率: 100%
浏览 30
已采纳

学习java基础文件流时遇到问题

package cn.java.study;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;

public class Test{
	
	public static void main(String args[]) throws IOException{
		StringBuffer buf = new StringBuffer();
		char ch;
		File file = new File("D:\\1.txt");
		InputStream input = new FileInputStream(file); 
		OutputStream output = new FileOutputStream(file); 
		
		byte[] cache = new byte [10240];
		while( (ch=(char)input.read(cache))!='\n') {
			buf.append(ch);
			
		}
		System.out.println(buf);
		output.close();
		input.close();
	}
}

1.txt里写了几句话,但是程序运行后一直读不出来,等了好长时间还在运行,跪求各位大佬指点指点我,感谢感谢

  • 写回答

5条回答 默认 最新

  • CSDN专家-三岁丫 2021-04-09 08:35
    关注

    cache 才是存储文件内容的,而 read 返回的其实是存储到 cache 中的字节的长度。所以你应该改成 append(0, len, cache)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 用ucinet怎么计算子群体个数和核心边缘结构拟合度
  • ¥15 nrf52810-c三个a 程序
  • ¥15 lego-loam跑出来的roll误差很大
  • ¥50 求一个半透明没有锯齿的圆角窗体的实现例子
  • ¥15 STM32cubeMX里的FreeRTOS无法释放内存
  • ¥15 CATIA有些零件打开直接单机确定终止
  • ¥15 请问有会的吗,用MATLAB做
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度