读取第一个文件并写入第二个文件

时间:2014-03-16 18:59:10

标签: java text-files

我有一个包含以下文字的文件:

  • Alan Alda 100 2
  • Coco Channel 103 2
  • Eric Edwards 105 0 ...

我应该只使用一种方法来读取第一个文件并将此信息写入第二个文件并计算线数,这意味着借用者和借阅的总书籍,这是该行中的最后一个数字。好的,所以在我的输出中有3个空行为这个文本,但计数和总数在下面的行上很好处理。我不知道如何通过给每个字符串赋予一个变量来添加最后一个数字。

    input = new Scanner(inFile);
    output = new PrintWriter(outFile);
     ... 
    public void processFiles()
    { 
     while(input.hasNextLine())
     { 
          count++;
          String firstName = input.next();
          String lastName = input.next();
          String libraryNumber = input.next();
          total += input.nextInt(); 
          output.println(input.nextLine());//empty strings
       }
       output.println("number of borrowers"+count); //3
       output.println("number of books borrowed"+total); //2+2+0
       }

1 个答案:

答案 0 :(得分:0)

String firstName = input.next();
String lastName = input.next();
String libraryNumber = input.next();
total += input.nextInt(); 
output.println(input.nextLine());//empty strings

你读了第一个名字," Alan",第二个名字" Alda",图书馆编号" 100"和下一个int,即2然后,你一直读到下一个回车..这是下一个字符。由于\n已从找到的String中删除,因此您将获得一个空行。如果我是你,我会读完整行,解析String本身并写出来。

实施例

String line = input.nextLine();

String[] values = line.split(" ");

String firstName = values[0];
String secondName = values[1];
String libraryNumber = values[2];
total += Integer.parseInt(values[3]);

output.println(line);
相关问题