问题描述
|
我一直在研究如何执行此操作,并且变得有些困惑,到目前为止,我已经尝试过使用Scanner,但这似乎并不能保留换行符,而且我无法弄清楚如何确定换行符是否是换行符。如果有人有任何建议,我将不胜感激。我一直在使用下面的Scanner类,但不确定如何检查该行是否为新行。谢谢
for (String fileName : f.list()) {
fileCount++;
Scanner sc = new Scanner(new File(f,fileName));
int count = 0;
String outputFileText = \"\";
//System.out.println(fileCount);
String text=\"\";
while (sc.hasNext()) {
String line = sc.nextLine();
}
}
解决方法
如果您只是想读取文件,建议您改用
LineNumberReader
。
LineNumberReader lnr = new LineNumberReader(new FileReader(f));
String line = \"\";
while(line != null){
line = lnr.readLine();
if(line==null){break;}
/* do stuff */
}
, Java \的Scanner类已经为您将其拆分为几行,即使该行是空的String也是如此。您只需要再次浏览各行即可获得您的值:
Scanner lineScanner;
while(sc.hasNext())
{
String nextInputLine = sc.nextLine();
lineScanner = new Scanner(nextInputLine);
while(lineScanner.hasNext())
{
//read the values
}
}
, 您可能要使用BufferedReader#readLine。