我正在编写小游戏,我需要读取文本文件,将其写入数组然后打印数组。我的阅读和返回数组的类看起来像这样:
import java.io.*;
import java.util.*;
public class WordsList {
public String[] wordsList;
public void readFile() throws Exception{
FileInputStream in = new FileInputStream("test.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
NumberOfLines read = new NumberOfLines();
int n = read.getLineCount();
String strLine;
wordsList = new String[n];
for (int j = 0; j < wordsList.length; j++){
wordsList[j] = br.readLine();
}
in.close();
}
public String[] returnsWordList(){
return wordsList;
}
}
在大班我有这个:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Exception {
WordsList words = new WordsList();
System.out.println(words.returnsWordList());
}
}
它返回null值而不是单词... 我做错了什么?有什么想法吗?
答案 0 :(得分:2)
我做错了什么?有什么想法吗?
您未能在代码中的任何位置拨打readFile()
。将您的main
方法更改为:
WordsList words = new WordsList();
words.readFile();
System.out.println(words.returnsWordList());
它可能会打印出一个非空引用。它不是一个有用的表示,因为数组不会覆盖toString
。如果你想看到实际的内容,你需要:
System.out.println(Arrays.toString(words.returnsWordList()));
您的代码还有很多其他方法,但这至少可以让您开始。