import java.util.*
public class ReadFileAndPrintFirstLine {
public static void main(String[] args) throws Exception {
String filePath = "你的文件路径"
如州 渣卖蔽 BufferedReader reader = new BufferedReader(
new InputStreamReader(new 配碧FileInputStream(filePath)))
String firstLine = reader.readLine()
System.out.println("第一行:" + firstLine)
reader.close()
}
}
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。BufferedReader bre = null
try {
String file = "D:/test/test.txt"
bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(str.trim().eqlaus(""))//如果判断此行是空的,输出结果
System.out.println(str)//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
这是因为tcp协议中有一个叫做“Nagle算法”的盯指碰机制,它会限制发送方发送数据的速度,以减少网络凯谈繁忙程度,逗蠢从而提高网络效率。这就意味着,如果发送方发送的数据量小于一定的阈值,接收方就会一直等待接收,直到超时或者接收到满足阈值的数据才会返回。因此,如果发送方发送的数据量小于阈值,那么接收方就会一直等待,直到超时或者接收到满足阈值的数据才会返回,这就是为什么第一行无法读取的原因。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)