-4

我在用 Java 读取 txt 文件时遇到问题。我有一个 File.txt (有这样的东西:

Lalala
Java
C++

我想将它“转换”成一个数组(例如 for tab[0][0]will be L, then tab[0][1]will bea等)。

我怎样才能做到这一点?

4

2 回答 2

0

如果你有 a String,你可以通过调用将其转换为单个字符的数组String.toCharArray();

首先,将字符串拆分为单个单词...

String myExample = "Lalala Java C++";
String[] lines = myExample.split(" ");

然后将各个行拆分为字符...

String myFirstLine = lines[0];
char[] letters = myFirstLine.toCharArray();

如果你需要它在二维数组中,你可以做这样的事情(这是一个完整的例子)......

String myExample = "Lalala Java C++";
String[] lines = myExample.split(" ");

char[][] myArray = new char[lines.length][0];
for (int i=0;i<lines.length;i++){
    myArray[i] = lines[i].toCharArray();
}

这将按照您的要求将第 1 行的字母分配给myArray[0][0],myArray[0][1]等,并将第 2 行的字母分配给myArray[1][0],myArray[1][1]等。

于 2012-05-14T14:56:15.607 回答
0

如果你想要的是一个二维数组,问题是数组的宽度需要是更大单词的长度。我认为这不是一个好习惯。

也许如果你创建一个数组列表,它会更好:

List<char[]> arrays = new ArrayList<char[]>();

String[] words = fullText.split(" "); //or split("\\s+") if the text contains many lines  or many spaces between the words

for(String word: words){
   char[] charsOfWord = word.toCharArray();
   arrays.add(charsOfWord);
}

这样,要访问第一个单词中的第一个字符:

System.out.println(arrays.get(0)[0]);
于 2012-05-14T15:03:47.583 回答