我尝试使用以下代码
从文本文件(.txt)中获取行数package com.practice.test;
import java.io.*;
public class FileLines {
public static void main(String[] args) {
try
{
File fl=new File("C:\\eGurkha\\agent\\logs\\agentout.txt");
if(fl.exists())
{
FileReader fr=new FileReader(fl);
LineNumberReader lr=new LineNumberReader(fr);
int lineno=0;
while(lr.readLine()!=null)
{
lineno++;
}
System.out.println("Numer of lines in the file is : "+lineno);
lr.close();
}
else
{
System.out.println("File does not exsist");
}
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}
但我无法读取该文件,以下输出显示我执行上述代码时
输出
File does not exsist
帮助我....
答案 0 :(得分:0)
你使用的是哪个Java版本,因为2004年有一个bug报告提到,File.exists()
有时会在NFS文件系统上给出错误的结果
请参阅:http://bugs.java.com/bugdatabase/view_bug.do?bug_id=5003595
答案 1 :(得分:0)
如果您确定该文件存在,请尝试将'\'
替换为'/'
。
在:
File fl = new File("C:\\eGurkha\\agent\\logs\\agentout.txt");
后:
File fl = new File("C:\\eGurkha/agent/logs/agentout.txt");
或者,更好:
File fl = new File("C:" + File.separator + "eGurkha" + File.separator + "agent" + File.separator + "logs" + File.separator + "agentout.txt");
File.separator
:系统相关的默认名称分隔符,为方便起见,表示为字符串。此字符串包含单个字符,即File.separatorChar
。