gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:37:15 26 4
gpt4 key购买 nike

我正在开发一个从 .txt 文件读取维基百科页面 View 统计文件的程序,到目前为止,我有一个读取此文件的加载方法,如下所示:

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 103145nl Andreas_Baader 4 46158nl Andreas_Bjelland 2 28288nl Andreas_Burnier 2 11545nl Andreas_Charles_van_Braam_Houckgeest 1 10373nl Andreas_Eschbach 1 365nl Andreas_Grassl 1 365

最佳答案

你可以有一个像这样的简单类

class Page {

String languageOrProject ;
String articleTitle;
int views;
int size ;

}

然后您可以使用比较器进行排序。或者,如果您只需要最大页面浏览量,请将其添加到 TreeMap 中,键为 Views,值为 pageTitle。最后,您将能够通过 map.firstKey() 获得最少阅读页面,通过 map.lastKey()

获得最大阅读页面

关于java - 如何分配从 .txt 文件读取的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com