2017-09-17 40 views
0

我想讀取一個文本文件(包含字符)並將它們存儲在java中的數組(最好是String或char數組)。閱讀一個文本文件(包含字符)並將其存儲在一個二維數組中的java

我有以下文件:

TIRQHHVZZRDAPOBVPSUJIODEZMYPYNGQIODWBXKCTOTRGZZEMP 
MLWLOPBIEWVOGGODRFVRZNATTNOYMMQGAWLYYEPZTZLKDZNNOV 
YQBSITHGIEQLQOILXJZRMZOAZPUKBBHEZEWRIOXKQITJQYJWYA 
WRMHAKAEDTERKFXPNQSHSUOOTCCQDNNSTUNICGHKPSAEBVZCEK 
GLHKDMIXJVBGKGDURNOKKDTUVYKKFJIPUCCIKQLUTGXUBVDDWE 
IMLOXJTMXFBTOPIHAXCMLDSVOYKJVKPNITIFNHLSBUSKOQYEVE 
FIMTDKSLPLOGDPSQNRYKNZWESINHKUAUAJNLQRBESGDIJAZXCZ 
XPASOKPBHLESOVQNWHWCJQVKQPAVQWORDJLDEQTZLWVRVCECQE 
VSRWFOURTEENPCSZYKJXKDSYMZYFBNNUMKPTPYUYESFMJPQWAX 
OFTMDZFHVAGAXAVIMCDFFTYTMBZJXGSTHTWBFKOFMCPMYSDBHW 
ZTTDOSGXMRHCWWJZTGRVYZBYAUWGADVBMNPGXISWWQOGYCOJQI 
WKCLDAPLTYUACEWYDPFKENVEBQUCRILMZMOTYTZASQZHDKJCUD 
YLNPTATVKWKQCKXDOLOTTINLECNSFQAYWXKVGQPUTOCTQRHPLD 
KVIDVLMOLCWQOCPIIUMEFEKVLBRJBOOANJVAGENXLDJSZHQEZO 
WVMXYCURWDEWZMYQWNDJEWSAEGKXUJSNVDQNYPLGASVJPJTTTK 
QYHETHVZXHXLXOFLOYEERHTRVUZUGTTVXSDXGFPLFNJKYEGITB 
EOEALPUNSRSAVAMRFKADVNLUEKWPHINLQIRFADMPHBLRABBDYD 
WJCFVKAJXQAJGGFTVMHEHEIQNOQVNYCKBETIDJFWGAFHETDFLW 
UHJLWHNZRBYPBFUZLDYZRHDZRWUHIOTNXGHTJWUPOWMOLUAJPN 
UQEVRGNDRVLCDCZVMUJKXEJESRJWCWPHLSFJRSNZHSIQFCXJCA 
ADLEPOVWXCMSZNDJCDLZXSEXBILSTACOZEIKEPWXJROWVWZEKO 
ENIUTYQLIPJCGDICMKLBFYYCLAYAGETKJVVROTFUOXWKKRZPQB 
WESALMTALHTRUPJDTEIMXBGBYBQVCPHSDEEZJWSJPVQFQBDYYB 
EEOUDWUQBQCCRXTSPOEFWAOFPATICKATVNHVGMJVLDJRXAVHXG 
RTWDJHUOTLSIKAOEGFTWREHWVOYEVNHNOUENUJYBJPSDMDMLCN 
KRDXWECKGIXTRQDSQMYREUTUTQSIBOIQEZDTMKSGCWJJVRQVSY 
MIGDSUXFWBDUVPRHYLUQIVMLFYFRVOENPUZTIWBLODVAFNKEFF 
AHIOOZHGDARPHSMSLQWAGWUKSACUZQZZERYGRPYXHLXSWYXWUP 
RTOCFOMDMMLTRQHYUPIJHDZPGFYZLYGPHTTFSEVENTEENLJOUE 
JAQULXRCFGYACYOKILEATGLRQJORZEFNPCEIFIEOJGWJFIFBJU 
ABWTYDWZDLNHITFALZHMEICJTIQMCMPELZYEOJHTSOSOLDKCIH 
KZELECUWWFKZWWVEFOUREFHDBQLODRKXNQYZNCECIUTXEHUZIF 
TUWDRQQXZSGGBEPOUCRDNBHIISRGOQPDLOFPPDJPXKNHSSSBWK 
QJUTINZTCTEXCNHEUUTLUWAFXNVHWYQNWTJKPXTZTVJSWTFJYX 
ESXMYTZXQNQLNTTTLWURFPRZJONBUJZNMOCAXEXJEXRTHUAZBP 
HEWRYQKJHTWFBYLVXAWRLZUCHBNECQAQEUWVTMVUEUAEZGOLVJ 
KJJCWQPEKOMYBUQASGHPTBLDAIXGZHSSCELCGQFCNFAQPKALHQ 
IFLROSXWZSGPBTCZBGMRVTHCIJLDLBIRFDTNXBYWQQOFXENAAZ 
IWFOWBGUXPVMBXVVMKIUCTZTQKECNSJLNVKFGKZCPOEGDEZWSW 
GBNMJKZMEETSFTWTCNOHKFAPEXVRIMJVADKOIAMTASKAHGQKGL 
TIXKEOHXLBLFQQGXNCWRYWLNYPLKADPCILWKQFHXCKXSFTWESE 
YPZRVDVSZYSSVHEQRQOYUUTAAQEZFBQTCRVTLXVJWHWQSKNJUD 
WAZETCDRIUDDQYOKPMFYIVCQJUWVPTYWXKIRJJBEOAXJUAZUSI 
GYSWSAWRLXIFICREJUESOBJBYCTSTAXMMMIUVMDTJMZQBUAGTX 
XIELYZYXIEDZUULIAAMZMRTEVCUDQRQOYEXPDQUZHCUCOFBUJH 
KJYUWVRLIRFPJJTWWHHEUQYZKJBNAUEUOFOSNJQPVGBCJDAZVN 
NYMKHEVUWTSONMYOLSSOYHYLHCZJBTLEVSOYMCAYDALDYSMYZJ 
BNKEQXFQNLEUBLTEJPZXCHYSRLHYVCKGLHTJBTJUNNHCXEIXNW 
VUYPYWZIEVXDRTCMJZQZENNWQPGCQODHEGXQCNJRVYZUSTPYYQ 
EAVVSGHIROLJFPRAFPBJTAWYYTLUTTYNJPZBVLSJUNYBFHEPED 

我用下面的代碼,但它不工作:

public class A3 { 

    public static void main(String[] args) throws IOException { 
     // TODO Auto-generated method stub 

     FileReader f = new FileReader("C:\\Users\\Dell\\Desktop\\COSC600\\sampleinp.txt"); 
     BufferedReader br = new BufferedReader(f); 

     String ar[][] = new String [50][50]; 

     for(int i=0;i<ar.length;i++) { 
      for(int j=0;j<ar.length;j++) { 
       String s = br.readLine(); 
       ar[i][j] = s.split(" "); 
      } 
     } 
    } 

} 

PS:請忽略進口&代碼中的錯誤。這只是部分代碼。

任何幫助將不勝感激!

預期輸出:在一個2-d陣列

T I R Q H H V Z Z R D A P O B .........P 
M L W L O P B I E W V O G G O .........V 
Y Q S I T H G I E Q O .................A 
+0

你得到了什麼錯誤?文字中的空格在哪裏? –

+0

@NabinBhandari。謝謝你的時間: 錯誤:當我嘗試做,ar [i] [j] = s。分裂(」 」) ;它抱怨說「不能從字符串轉換爲charecter數組」。 我已經意識到我必須包含空格,而且我做了,但是我從不同的文件中複製了其中沒有間隔的文件。我的錯。 –

+0

爲什麼要將它存儲在二維數組中? @AmithAdiraju –

回答

0

String的,不String功能split()返回陣列。試試下面的代碼:

for(int i=0;i<ar.length;i++) { 
    String s = br.readLine(); 
    ar[i] = s.split(" "); 
} 
+0

我該如何將其存儲到二維數組中? –

+0

'ar'是一個二維數組。 –

+0

不應該被分割(「」)「嗎? – Novaterata

0

你真的需要使用數組嗎?我會做這樣的事情來讀取文件

import java.util.ArrayList; 
import java.util.List; 

public class A3 { 

public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 

    FileReader f = new FileReader("C:\\Users\\Dell\\Desktop\\COSC600\\sampleinp.txt"); 
    BufferedReader br = new BufferedReader(f); 

    List<String[]> words = new ArrayList<String[]>(); 

    line = br.readLine(); 
    while(line != null){ 

    words.add(line.split("")); 
    line = br.readLine(); 

}}} 
+0

非常感謝你的時間,但我的任務表明我必須將這些值放在一個數組中。我後來在另一個陣列上執行了「乾草堆裏的針」類型的搜索。所以我必須把它作爲一個2D數組。 –

+0

現在我明白你的意思了,我認爲納賓說了正確的答案 –

相關問題