无法获取数组来读取我的文本文件

时间:2014-02-06 13:29:15

标签: java arrays

我正在尝试让这个数组从文本文件中读取数据,而我似乎无法完全理解它的工作原理。我不知道什么是错的。在任何人都可以帮忙之前,我从来没有真正做过这样的事情吗?

package students;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Students 
{
    public static void main(String args[]) throws IOException
    {

        Scanner sc = new Scanner(new File("words.txt"));
        List<String> lines = new ArrayList<String>();
        while (sc.hasNextLine()) {
          lines.add(sc.nextLine());
        }

        String[] arr = lines.toArray(new String[0]);
    }
}

3 个答案:

答案 0 :(得分:0)

更改此行:

String[] arr = lines.toArray(new String[0]);

String[] arr = lines.toArray(new String[lines.size()]);

您一直在设置新的字符串数组以容纳单个项目,而不是将其设置为与列表相同的大小。

答案 1 :(得分:0)

可能是你的words.txt不在正确的文件夹中,无法找到。你打印出一个例外吗?

答案 2 :(得分:0)

它在“words.txt”文件位置接收问题(我在项目位置添加了这个文件并且它有效)。

因此,请将您的文件放在工作目录中,或者在类路径中提供完整路径或将其删除,然后按以下步骤进行检索

URL url = getClass().getResource("words.txt");
File file = new File(url.getPath());