【问题标题】:How to scan text from a file and save into an array Java [duplicate]如何从文件中扫描文本并保存到数组Java中[重复]
【发布时间】:2016-03-25 05:15:49
【问题描述】:

我正在尝试从文本文件中读取字符串,只要有空格就拆分字符串,并将每个单词存储在字符串数组中:

例如。输入"Hello i am a sentence"

输出[Hello, i, am, a, sentence]

我目前有以下

Scanner sc = null;
      try
      {
        sc = new Scanner(new FileReader(args[0]));
        LinkedList<String> list = new LinkedList<String>();
        String str = sc.nextLine();
        for(String i:str.split(" ")){
           list.add(i);
        }
        String[] arguments = list.toArray(new String[list.size()]);
        System.out.println(arguments);
      }
      catch (FileNotFoundException e) {}
      finally
      {
          if (sc != null) sc.close();
      }

但我无法将列表转换为数组,我得到以下输出

[Ljava.lang.String;@45ee12a7

【问题讨论】:

  • 这是你想要的输出吗?

标签: java input java.util.scanner


【解决方案1】:

你不需要把它变成List,然后再转换成普通的Array,只要这样做,假设它是你的String

 String string = "Hello i am a sentence";

你可以做任何一个

 String[] array = string.split("\\s", -1);

String[] array = string.split(" ", -1);

两者都给出相同的结果!

【讨论】:

    【解决方案2】:

    尝试使用for 循环来填充数组,如下所示:

    String[] arguments = list.toArray(new String[list.size()]);
    for (int i = 0; i < list.size(); i++) {
        arguments[i] = list.get(i);
    }
    

    并使用foreach 来迭代和打印数组元素:

    for (String arg: arguments) {
        System.out.println(arg);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      相关资源
      最近更新 更多