我在用 Java 读取 txt 文件时遇到问题。我有一个 File.txt (有这样的东西:
Lalala
Java
C++
我想将它“转换”成一个数组(例如 for tab[0][0]
will be L
, then tab[0][1]
will bea
等)。
我怎样才能做到这一点?
我在用 Java 读取 txt 文件时遇到问题。我有一个 File.txt (有这样的东西:
Lalala
Java
C++
我想将它“转换”成一个数组(例如 for tab[0][0]
will be L
, then tab[0][1]
will bea
等)。
我怎样才能做到这一点?
如果你有 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]
等。
如果你想要的是一个二维数组,问题是数组的宽度需要是更大单词的长度。我认为这不是一个好习惯。
也许如果你创建一个数组列表,它会更好:
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]);