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里写了几句话,但是程序运行后一直读不出来,等了好长时间还在运行,跪求各位大佬指点指点我,感谢感谢
cache 才是存储文件内容的,而 read 返回的其实是存储到 cache 中的字节的长度。所以你应该改成 append(0, len, cache)
输入输出流不能用同一个file 对象,再定义一个file 对象
你这个output 对象没用,可以删除
你用的这个read方法是返回读取长度的,没有读取到内容返回-1,数据类型是int,读取到的内容在byte数组内。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632