我在使用Java读取txt文件时遇到问题。我有一个File.txt(有这样的东西:
Lalala
Java
C++
我想将其“转换”为数组(例如,tab[0][0]
将为L
,然后tab[0][1]
将为a
等。)
我该怎么做?
答案 0 :(得分:0)
如果您有String
,可以通过调用String.toCharArray();
将其转换为单个字符数组
首先,将字符串拆分为单个单词......
String myExample = "Lalala Java C++";
String[] lines = myExample.split(" ");
然后将各行分成字符......
String myFirstLine = lines[0];
char[] letters = myFirstLine.toCharArray();
如果你需要在2D数组中,你可以做这样的事情(这是一个完整的例子)......
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]
等
答案 1 :(得分: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);
}
这样,要访问第一个单词中的frist字符:
System.out.println(arrays.get(0)[0]);