我有一個非常有我難倒了早期的分配,剩下這是相當容易的(對數據進行排序一旦其進口,然後根據不同的重新保存名稱)。爪哇 - 導入文本文件轉換成數組時線並不一致
我們需要從一個txt文件導入數據到3個獨立的數組(名稱,吉祥物,化名),然而線條並不一致。通過不懈我的意思是一條線可能有:
Glebe,G Shield,Glebe District
而另一條線路可能有:
St George,Knight & Dragon,Saints,Dragons,St George Illawarra
之前的所有第一,屬於名數組。
一切第一之後,但在第二之前,屬於吉祥物陣列。
一切第二後,直到該行的末尾屬於別名陣列。
我已經能夠解決如何導入.txt文件,它包含整個行,然後我可以轉換成導入「,」和新行(使用分隔符)之前的所有內容。但是,包含超過3組數據的行會毀壞導入,因爲別名數組只能保留1而不是其他所有數據。
因此沒有人知道的,可以告訴我,幾乎做了代碼:
名=之前的所有第一,
吉祥物=第一之後的一切,但前一秒,
別名=第二之後一切,直到行
那我可以爲基地的工作進入礦井使用的結束?
經過一天的研究,我不斷想出死路一條。他們通常都涉及分割在每個逗號,但打破進口(行數多於1個別名,第二個別名被放入名稱數組,等)
這是我想出的代碼,導入整個線到一個數組:
public static void LoadData() throws IOException
{
String clubtxt = ("NRLclubs.txt");
String datatxt = ("NRLdata.txt");
int i, count;
File clubfile = new File(clubtxt);
File datafile = new File(datatxt);
if (clubfile.exists())
{
count = 0;
Scanner inputFile = new Scanner(clubfile);
i = 0;
while(inputFile.hasNextLine())
{
count++;
inputFile.nextLine();
}
String [] teamclub = new String[count];
inputFile.close();
inputFile = new Scanner(clubfile);
while(inputFile.hasNext())
{
teamclub[i] = inputFile.nextLine();
System.out.println(teamclub[i]);
i++;
}
inputFile.close();
}
else
{
System.out.println("\n" + "The file " + clubfile + " does not exist." + "\n");
}
if (datafile.exists())
{
count = 0;
Scanner inputFile = new Scanner(datafile);
i = 0;
while(inputFile.hasNextLine())
{
count++;
inputFile.nextLine();
}
String [] teamdata = new String[count];
inputFile.close();
inputFile = new Scanner(datafile);
while(inputFile.hasNext())
{
teamdata[i] = inputFile.nextLine();
System.out.println(teamdata[i]);
i++;
}
inputFile.close();
}
else
{
System.out.println("\n" + "The file " + datafile + " does not exist." + "\n");
}
}
的一種方式?它看起來像你正在閱讀一個文件,但沒有試圖對你得到的數據做任何事情。 – Farlan