我正在编写小游戏,我需要读取文本文件,将其写入数组,然后打印数组。我的读取和返回数组的类如下所示:
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());
}
}
它返回空值而不是单词... 我做错了什么?有什么想法吗?
最佳答案
What did I do wrong? Any ideas?
您未能在代码中的任何位置调用 readFile()
。将您的 main
方法更改为:
WordsList words = new WordsList();
words.readFile();
System.out.println(words.returnsWordList());
它可能会打印出一个非空引用。它不会是一个有用的表示,因为数组不会覆盖 toString
。如果您想查看实际内容,您需要:
System.out.println(Arrays.toString(words.returnsWordList()));
还有各种其他方式使您的代码仍然远非出色,但这至少应该让您入门。
关于java - 将文本文件写入数组,然后在 Java 中返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11816350/