相关疑难解决方法(0)

为什么文本文件以换行符结尾?

我假设这里的每个人都熟悉所有文本文件应以换行符结尾的格言.多年来我一直都知道这个"规则",但我一直在想 - 为什么?

unix newline file text-files

1375
推荐指数
15
解决办法
21万
查看次数

如何以有效的方式获取文件中的行数?

我有一个大文件.它包括大约3.000-20.000行.如何使用Java获取文件中的行总数?

java file

67
推荐指数
7
解决办法
22万
查看次数

Java尝试和捕获IOException问题

我试图使用我在本页底部找到的一些代码.这是我为它创建的类中的代码:

import java.io.LineNumberReader;
import java.io.FileReader;
import java.io.IOException;

public class LineCounter {
  public static int countLines(String filename) throws IOException {
    LineNumberReader reader  = new LineNumberReader(new FileReader(filename));
    int cnt = 0;
    String lineRead = "";
    while ((lineRead = reader.readLine()) != null) {}
    cnt = reader.getLineNumber();
    reader.close();
    return cnt;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的目标是计算文本文件的行,将该数字存储为整数,然后在我的主类中使用该整数. 在我的主要课程中,我尝试了几种不同的方法来实现这一点,但是(作为一名新程序员)我错过了一些东西.这是我尝试的第一件事:

String sFileName = "MyTextFile.txt";
private int lineCount = LineCounter.countLines(sFileName);
Run Code Online (Sandbox Code Playgroud)

通过此尝试,我得到错误"未报告的异常java.io.IOException;必须被捕获或声明被抛出".我不明白为什么我得到这个,因为我可以看到异常是在我的"countLines"方法中声明的.我尝试在我发布的最后一段代码下使用try catch块,但这也没有用(我不认为我做得对).这是我试试的尝试:

String sFileName = "MyTextFile.txt";
private int lineCount;{
    try{
        LineCounter.countLines(sFileName);
    }
    catch(IOException ex){
        System.out.println (ex.toString());
        System.out.println("Could not find …
Run Code Online (Sandbox Code Playgroud)

java try-catch ioexception

9
推荐指数
1
解决办法
15万
查看次数

Java:如何计算不.文件中的行?

可能重复:
Java中文件中的行数

我需要计算通过命令行参数传递给java的txt文件的行数.我知道如何从文件中读取,但我在完成剩下的工作时遇到了麻烦.任何帮助,将不胜感激.这是我到目前为止:

   import java.util.*;
   import java.io.*;
   public class LineCounter {
public static void main (String [] args) throws IOException{
    Scanner file = new Scanner(new File("myFlile.txt"));
    int count = 0;
    while(file.hasNext()){
        boolean s = file.hasNext();
        int count = file.nextInt();
    }

    System.out.println(count);
   }
     }
Run Code Online (Sandbox Code Playgroud)

java io java.util.scanner

4
推荐指数
1
解决办法
5万
查看次数

Java扫描程序计数文件中的行

我有一个问题,我试图创建一个应用程序,计算文件中符号的所有出现...扫描方法"nextLine"停在一个空行...有没有办法让它继续前进,直到它到达真正的文件结束?

简而言之:我可以在文件中获得REAL行吗?

先感谢您!

java java.util.scanner

4
推荐指数
1
解决办法
3万
查看次数

计算文件中的行数

我编写了一段代码来计算文件中的行数(我无法找到可以在IO类中实现这一点的内置方法).我的代码如下:

try {
    while(!line.equals("null")) {
        line = bufferedReader.readLine();
        a = a + 1;
        System.out.println(a + " " + line);
    }
} catch (NullPointerException N) {}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当变量'line'计算为"null"时,计数仍然增加.我明白为什么会这样; 在整个代码块运行之后,while语句才会检查条件,在这种情况下,'a'将再次增加.我考虑过的解决方案:

1)设置'a = -1',而我在此代码块之前当前有'a = 0'2)使用if语句在达到count变量之前打破循环.这是我修改代码块的方法:

try {
    while(!line.equals("null")) {
        line = bufferedReader.readLine();
        if (line.equals("null")) {break;}
        a = a + 1;
        System.out.println(a + " " + line);
    }
} catch (NullPointerException N) {}
Run Code Online (Sandbox Code Playgroud)

我上面的问题?(1)似乎太做作,而(2)似乎多余.我想看看是否有更好的方法来解决这个问题 - 感谢您的建议.

java while-loop java-8

1
推荐指数
2
解决办法
307
查看次数

你如何确定字符串数组java的大小?

如何读取文件并确定数组元素,而无需查看文本文件本身?

String temp = fileScan.toString();
String[] tokens = temp.split("[\n]+");
// numArrayElements = ?
Run Code Online (Sandbox Code Playgroud)

java arrays string

0
推荐指数
1
解决办法
1万
查看次数

如何从java中的文本文件中获取行数而忽略空行?

目前要计算我正在使用的文本文件的行数:

File f = new File("lorem.txt");
if(f.exists()){
        try {
            BufferedReader bf = new BufferedReader(new FileReader(f));

            while((s = bf.readLine())!=null) {
                if(s.length() > 0) {
                    nbLinesTotal++;
                }
            }
            bf.close();
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
}
Run Code Online (Sandbox Code Playgroud)

但我在 java 8 中发现了这一点:

long count = Files.lines(Paths.get("lorem.txt")).count();
Run Code Online (Sandbox Code Playgroud)

这比我的循环更快更好。但它不会忽略空行。那么,如何用这种方式忽略空白行呢?

谢谢

java

0
推荐指数
1
解决办法
1345
查看次数