使用.split()方法,只获取创建的一部分字符串数组

用户名

我需要从.dat文件中读取文本,其内容如下:

4
Mary 13.99
Ruth 22.04
Anne 12.39
Talor 18.34

我使用了一个如下所示的缓冲读取器:

public class Tester{

    public static void main(String [] args){

       BufferedReader reader = null;

       try {
           File file = new File("C:\\Users\\hoguetm\\workspace\\practiceproblems\\beautiful.dat");
           reader = new BufferedReader(new FileReader(file));

           String line;

           while ((line = reader.readLine()) != null) {
               //System.out.println(line);
               //split will go here
               String[] str1Array =  line.split(" ");
               System.out.println(str1Array[0]);

               //works

               /*
               for (String retval: line.split(" ")){
                    System.out.println(retval);
               }
               */
           }

       } catch (IOException e) {
           e.printStackTrace();
       } finally {
           try {
               reader.close();
           } catch (IOException e) {
               e.printStackTrace();
           }
       }
   }  

}

我需要在除4之外的行末添加数字并打印出总和,但是当我将[0]更改为[1]时,它表示超出范围。请帮忙

布莱恩·S

如果您保证输入文件的格式与您发布的格式相同,则只需执行以下操作:

reader.readLine();
while ((line = reader.readLine()) != null) {
    ...

这将导致您的读者占用文件的第一行并完全忽略它。就是说,您发布的文件表明第一行指示随后的行数,这意味着您应该解析它并使用for循环。例如:

int nLines = Integer.parseInt(reader.readLine());
for(int i = 0; i < nLines; i++)
{
    line = reader.readLine();
    ...
}

不过,这完全基于您提供的小样本。有关dat文件规范的更多信息将很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用LINQ在字符串的一部分上创建分组?

如何使用数组替换字符串的一部分

使用Javascript按名称获取包含字符串一部分的元素

使用gsub或sub函数仅获取字符串的一部分?

如何使用“sed”获取字符串的一部分?

在 Dart 中使用 RegEx 获取字符串的一部分

如何使用PHP获取字符串的一部分

如何使用 Javascript 获取 URL 字符串的一部分?

分割字符串并使用IF获取第一部分

如何使用explode()获取字符串的一部分

使用C#获取字符串的一部分

使用shell脚本获取字符串的一部分

jQuery-如何使用substr获取字符串的一部分?

分割字符串并使用C获取最后一部分

使用JavaScript获取字符串的一部分

使用Javascript:删除字符串的一部分(获取日期字符串)

在 vue 计算属性中使用数组数据项长度作为字符串的一部分

使用正则表达式在js / jquery中获取字符串的一部分

使用正则表达式根据条件获取字符串的一部分

如何使用猫鼬查找获取包含字符串一部分的所有值?

在TypeScript中使用关键字regex获取字符串的一部分

如何使用C#从节点内部获取字符串的一部分

如何使用子字符串函数在SAS中获取单词的最后一部分?

使用perl grep从段落中获取带有匹配字符串的行的一部分

如何使用Ruby从字符串的起点到字符串的结尾获取字符串的一部分

使用forEach替换字符串的一部分?

使用WriteLine仅将字符串的一部分写入文件

使用sed提取字符串的一部分

使用正则表达式替换字符串的一部分