如何从文本文件中读取。

时间:2014-05-25 01:16:35

标签: java arrays text-files

我想知道如何检查文本文件行上的特定字符串,将其保存在数组中,然后转到该文本文件的下一行。

例如: (他是什么/年版/姓名/年龄/专业/号码)

竞争对手2014约瑟夫21学生20232341

竞争对手2013迈克尔23工程师23425123

作为输出,它会给我这个:

歌曲节' 2014

以下是竞争对手:

约瑟夫,21岁的学生 - 20232341

歌曲节' 2013

是竞争对手

迈克尔,23岁的工程师 - 23425123

编辑:java语言

1 个答案:

答案 0 :(得分:0)

为此您将使用BufferedReader,您可以使用选项卡(缩进)对文本文件中的内容进行格式化,该选项卡将从BufferedReader读取为'\ t'我马上就会为您编写示例。< / p>

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;


public class StackoverflowExample {

    private static final int INFORMATION_CAP = 100;
    private static String[][] INFORMATION = new String[INFORMATION_CAP][INFORMATION_CAP];

    public StackoverflowExample() {
        String currentLine;
        String[] textData;
        int lineID = 0;
        boolean endOfFile = false;

        try {
            BufferedReader reader = new BufferedReader(new FileReader("textfile.txt"));
            currentLine = reader.readLine();
            while(!endOfFile && currentLine != null) {
                currentLine = currentLine.trim();
                textData = currentLine.split("\\t");
                String userType = textData[0];
                String year = textData[1];
                String name = textData[2];
                String age = textData[3];
                String profession = textData[4];
                String number = textData[5];
                INFORMATION[lineID] = new String[] { userType, year, name, age, profession, number };
                lineID++;
                currentLine = reader.readLine();
            }

        } catch (IOException e) { 
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new StackoverflowExample();
        for(int i = 0; i < INFORMATION.length; i++) {
            System.out.println("Type: " + INFORMATION[i][0] +
                    "year: " + INFORMATION[i][1] + 
                    "name: " + INFORMATION[i][2] + 
                    "age: " + INFORMATION[i][3] + 
                    "profession: " + INFORMATION[i][4] +
                    "number: " + INFORMATION[i][5]);
        }
    }
}

在项目主目录中创建一个名为“textfile.txt”的文本文件,并将其格式化为

type(tab)year(tab)name(tab)age(tab)profession(tab)number(newline)