简体   繁体   English

读取文本文件(包含字符)并将其存储在Java中的2D数组中

[英]Read a text file (containing characters) & store it in a 2D array in java

I want to read a text file (containing characters) and store them in an array (preferably String or char array) in java. 我想读取一个文本文件(包含字符),并将它们存储在java中的数组(最好是String或char数组)中。

I have the following file: 我有以下文件:

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

I'm using the following code, but it doesn't work: 我正在使用以下代码,但是它不起作用:

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: Please ignore the imports & code errors. PS:请忽略导入和代码错误。 This is only partial code. 这只是部分代码。

Any help will be much appreciated! 任何帮助都感激不尽!

expected output: in a 2-D array 预期输出:二维数组

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

The function split() returns array of String , not String . 函数split()返回String数组,而不是String Try the following code: 尝试以下代码:

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

Man do you really need to use an array? 男人,您真的需要使用数组吗? I would do something like this to read the file 我会做这样的事情来读取文件

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();   

}}}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM