使用java从文本文件中提取内容

时间:2014-10-05 01:13:43

标签: java

我有一个文本文件,如下所示:

57363 Joy Ryder D D C P H H C D
72992 Laura Norder H H H D D H H H
71258 Eileen Over C F C D C C C P
70541 Ben Dover F F F P C C C F
46485 Justin Time F C F C D P D H
61391 Anna Conda D D F D D F D D
88985 Bob Down P F P F P F P P

我有以下代码:

Scanner keyboard = new Scanner(System.in);
        System.out.println("Filename: ");
        // C:\\Users\\Vick\\PT\\accountFilesDemo_17259747\\src\\accountFilesDemo_17259747\\Grades.txt
        String filename = keyboard.nextLine();

        File myfile = new File(filename);

        try {
            Scanner inputFile = new Scanner(myfile);
            while(inputFile.hasNext())
            {
                String str = inputFile.nextLine();
                System.out.println(str);
            }
            inputFile.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

现在我想知道如何获得前5位数的学生ID并将它们存储在某处,然后在学生姓名后面的8个字母即DDCPHHCD如何将这些字母放在某处以保存值1-8然后我需要添加它们并做一些数学计算得到一个总数,然后如何将这两个学生ID和总数写成单独的文本文件?

3 个答案:

答案 0 :(得分:0)

提示:

  1. 使用Scanner将每行分解为组件。

  2. 创建一个类来保存每行中的信息。

  3. 如果您事先知道数组中有多少元素,请使用数组,如果不知道,请使用列表(例如ArrayList)。

  4. 填充数据结构后,进行算术运算并打印结果就是简单的编程。

  5. 这些提示可以回答您的大部分问题。但我不会为你编写作业代码。

答案 1 :(得分:0)

这个怎么样:

String str = "57363 Joy Ryder D D C P H H C D";
String[] items = str.split(" ");

答案 2 :(得分:-1)

您可以使用扫描仪分隔单行代币。

String str = "57363 Joy Ryder D D C P H H C D";

    Scanner tokens = new Scanner(str);

    String studentID = tokens.next();

    String name = tokens.next();

    String surname = tokens.next();

    String letters = "";

    while(tokens.hasNext())
    {
        letters = letters + tokens.next() + " ";
    }

    System.out.println("ID = " + studentID +
                       "\nNAME = " + name +
                       "\nSURNAME = " + surname + 
                       "\nLETTERS = "+ letters);