将文本文件写入数组然后以Java格式返回

时间:2012-08-05 12:19:26

标签: java arrays text return

我正在编写小游戏,我需要读取文本文件,将其写入数组然后打印数组。我的阅读和返回数组的类看起来像这样:

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值而不是单词... 我做错了什么?有什么想法吗?

1 个答案:

答案 0 :(得分:2)

  

我做错了什么?有什么想法吗?

您未能在代码中的任何位置拨打readFile()。将您的main方法更改为:

WordsList words = new WordsList();
words.readFile();
System.out.println(words.returnsWordList());

它可能会打印出一个非空引用。它不是一个有用的表示,因为数组不会覆盖toString。如果你想看到实际的内容,你需要:

System.out.println(Arrays.toString(words.returnsWordList()));

您的代码还有很多其他方法,但这至少可以让您开始。