当前位置: 首页 > 面试题库 >

读取和拆分文本文件(java)

杜砚
2023-03-14
问题内容

我有一些带有时间信息的文本文件,例如:

46321882696937;46322241663603;358966666
46325844895266;46326074026933;229131667
46417974251902;46418206896898;232644996
46422760835237;46423223321897;462486660

现在,我需要文件的第三列来计算平均值。

我怎样才能做到这一点?我需要获取所有文本行,然后获取最后一列?


问题答案:

您可以阅读通过线使用的文件中的行BufferedReaderScanner,甚至一些其他techinique。使用扫描仪非常简单,如下所示:

public void read(File file) throws IOException{
    Scanner scanner = new Scanner(file);

    while(scanner.hasNext()){
        System.out.println(scanner.nextLine());
    }
}

要使用定义的分隔符分割字符串,可以使用split方法,该方法将正则表达式作为参数,并按与该表达式匹配的所有字符序列分割字符串。就您而言,这很简单,;

String[] matches = myString.split(";");

而且,如果要获取数组的最后一项,则可以将其length用作参数。记住数组的最后一项总是在索引中length - 1

String lastItem = matches[matches.length - 1];

如果将所有这些结合在一起,您将获得如下所示的内容:

public void read(File file) throws IOException{
    Scanner scanner = new Scanner(file);

    while(scanner.hasNext()){
        String[] tokens = scanner.nextLine().split(";");
        String last = tokens[tokens.length - 1];
        System.out.println(last);
    }
}


 类似资料:
  • 问题内容: 我有一个文件,我想用Java读取并将其拆分为(用户输入)输出文件。这是我读取文件的方式: 如何将文件拆分为文件? 注意-由于文件中的条目数约为100k,因此我无法将文件内容存储到数组中,然后将其拆分并保存到多个文件中。 问题答案: 由于一个文件可能很大,因此每个拆分文件也可能很大。 例: 源文件大小:5GB 数字分割:5:目的地 档案大小:每个1GB(5个档案) 即使我们有这样的内存,

  • 问题内容: 我已经解决了这些问题,但似乎仍然无法解决。我有一个文本文件,分为几行。每行包含5个数据,中间用“,”分隔。我正在尝试读取此文件并将信息拆分为以下形式的字符串数组: 请有人可以帮我解决一个简单的解决方案!?谢谢!!!:) 数据示例: 样例代码: 公共无效的readFile(){ 错误 07-24 06:26:56.524:E / AndroidRuntime(27203):致命例外:主要

  • 我有一个txt文件,格式如下: 我想把所有键和它们的值放在我创建的hashMap中。如何让或知道何时拆分冒号(:)处的键和值?:-) 我试过:

  • 我正在处理Hadoop和Hive的输出文本文件,其中的文件有由Control-A分隔的字段。然后我使用Python逐行读取文件,但是字符串函数即使指定了分隔符也不能正确拆分。 然后,我编写了一个Python函数,该函数使用标准的Python习惯用法逐行读取文件: 但是,当我运行函数时,字符串没有正确拆分。每行中应该有四个令牌。 您可以在我的Python函数中看到,我尝试了三种不同的方法来拆分字符串

  • 问题内容: 我正在尝试读取以下形式的大文本文件: 我想在文本文件中将此字符串作为一个大的Java字符串读取。这可能吗?我知道使用split方法。 它可以逐行读取它,但我真正需要的是在“ +”号处分割此长文本字符串。之后,我想将其存储为数组,arraylist,列表,… 谁能帮我这个?因为互联网上的所有信息都只是逐行读取文件。提前致谢! 问题答案: 您可以使用或任何IO类读取文件。假设文件中包含该字

  • 可以使用FileReader直接读取文本文件 我们为什么需要使用InputStream方法