我在阅读Java中的txt文件时遇到问题。我有一个FILE.TXT(也有一些是这样的:在字符数组中分隔的每个词
Lalala
Java
C++
我想“转换”成一个阵列(例如用于tab[0][0]
将L
,然后tab[0][1]
会a
等)
我怎样才能做到这一点?
我在阅读Java中的txt文件时遇到问题。我有一个FILE.TXT(也有一些是这样的:在字符数组中分隔的每个词
Lalala
Java
C++
我想“转换”成一个阵列(例如用于tab[0][0]
将L
,然后tab[0][1]
会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]
等,如你所要求的。
这将转换1个单个字符数组中的所有内容,他需要一个char 2d数组 –
是的,我起初并不完全理解这个需求,但我想我现在知道他们在问什么。 – wattostudios
如果你想要的是一个二维数组,问题是数组的宽度需要是较大单词的长度。我认为这不是一个好习惯。
也许如果你创建数组列表,它可以更好:
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]);
是我们应该做的家庭作业?你有什么尝试?提示,使用FileReader创建InputStream>您可以从那里读取行。 – Hidde
您是否设法阅读文件?首先成功阅读行 – keyser
发布您迄今为止的代码。 – Tudor