如何分配从.txt文件读取的值



我正在编写一个程序,从.txt文件中读取维基百科页面视图统计文件,到目前为止,我有一个加载方法,在这个文件中读取如下:

public void loadPVSF(String x) throws FileNotFoundException, IOException {
        FileInputStream f = new FileInputStream(x);   //obtains bytes from an input file
        DataInputStream in = new DataInputStream(f);  //reads primitive java types
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        while ((temp = br.readLine()) != null) {
            tempArray = temp.split("n");   //adds each line to an array tempArray
            for (String st : tempArray) //puts each element of tempArray through String st
            {    
                MainArray = st.split(" ");   //adds each string after a " " to MainArray
                for (String str : MainArray) {
                    if(linecounter<5){
                        linecounter++;
                        System.out.println(linecounter + ": " + str);

运行这个命令,下面是命令行输出的一个示例:

1: commons.m 
2: Category:Gracie_Gold 
3: 1 
4: 7406
1: commons.m
2: Category:Grad_Maribor
3: 1
4: 7324
1: commons.m
2: Category:Grade_II*_listed_houses_in_Cheshire
3: 1
4: 7781

基本上每组四行是:

1 - Language/Project
2 - Article Title
3 - Number of Page views
4 - Size of the Page (bytes)

我需要知道如何正确地分配这些读入行。实际上,我最后需要的是一个哈希表,它将存储文章标题及其相应的观看次数的列表,以便我可以确定哪一篇文章的观看次数最多。

任何提示或建议都将不胜感激。

输入。txt文件的示例:

nl Andreas_(apostel) 7 103145[4] [au:] [au:[1]吉林2 28288[au:]安德鲁·伯尼尔2 11545[1] [au:] [au:[1] [au:]安德烈斯·埃施巴赫1 365nl Andreas_Grassl 1 365

您可以有一个简单的类,如

class Page {
String languageOrProject ;
String articleTitle;
int views;
int size ; 
}

则可以使用比较器进行排序。或者,如果您只需要最大页面视图,则将其添加到TreeMap中,键为views,值为pageTitle。最后,您将能够获得map.firstKey()的最小阅读页面和map.lastKey()的最大阅读页面

相关内容

  • 没有找到相关文章

最新更新