Java中字符串到数组的转换

Java中字符串到数组的转换,java,arrays,string,Java,Arrays,String,我有这样一个txt文件: 五, 1. 3. 6. 九, 我想用java读取它们,并将所有数字存储到一个数组中。我该怎么做?将它们作为字符串读入并转换为arrray?如何转换? 该文件仅包含int 我试着把它们读成一个字符串 然后用这个来转换 static public int[] strToA(String str) { int len = str.length(); int[] array = new int[len]; for (int i = 0; i <

我有这样一个txt文件:

五, 1. 3. 6. 九,

我想用java读取它们,并将所有数字存储到一个数组中。我该怎么做?将它们作为字符串读入并转换为arrray?如何转换? 该文件仅包含int

我试着把它们读成一个字符串 然后用这个来转换

 static public int[] strToA(String str)
{
    int len = str.length();
    int[] array = new int[len];
    for (int i = 0; i < len; i++)
    {
        array[i] = Integer.parseInt(str.substring(i,i+1));
    }
    return array;
}

扫描仪可以帮助您读取文件,您可以使用列表或其他方式来存储信息


之后,您可以使用此列表转换阵列。

扫描仪可以帮助您读取文件,您可以使用列表或其他方式存储信息


之后,您可以使用此列表转换数组。

代码如下所示。这是未经测试的代码,可能有语法错误

Path file = "yourfile";
// open file
try (InputStream in = Files.newInputStream(file);
    BufferedReader reader =
      new BufferedReader(new InputStreamReader(in))) {
    String line = null;
    intArr = new int[10]; // bad code could fail if file has more than 10
    int i = 0;
    while ((line = reader.readLine()) != null) {
        intArr[i++] = Integer.parseInt(line); // parse String to int
    }
} catch (IOException x) {
    System.err.println(x);
}
若要使用列表而不是数组,请更改行

intArr = new int[10];


代码应该是这样的

    List intArr = new ArrayList();
    while ((line = reader.readLine()) != null) {
        intArr.add(Integer.parseInt(line)); // parse String to int
    }

代码应该是这样的。这是未经测试的代码,可能有语法错误

Path file = "yourfile";
// open file
try (InputStream in = Files.newInputStream(file);
    BufferedReader reader =
      new BufferedReader(new InputStreamReader(in))) {
    String line = null;
    intArr = new int[10]; // bad code could fail if file has more than 10
    int i = 0;
    while ((line = reader.readLine()) != null) {
        intArr[i++] = Integer.parseInt(line); // parse String to int
    }
} catch (IOException x) {
    System.err.println(x);
}
若要使用列表而不是数组,请更改行

intArr = new int[10];


代码应该是这样的

    List intArr = new ArrayList();
    while ((line = reader.readLine()) != null) {
        intArr.add(Integer.parseInt(line)); // parse String to int
    }

将它们像[1,2,3,4,5]一样分开存储,或者作为一个int?分别存储到int[]数组中,虽然我认为这个问题不符合堆栈溢出规则,通常,没有尝试过任何事情就要求完整的问题解决方案是不好的,尤其是那些看起来像是完整的家庭作业问题。我发布了我已经得到的代码。我想把它贴出来,但没用。我想你是新来的吧+我很感谢你努力编辑你的问题。将它们像[1,2,3,4,5]一样单独存储,或者作为一个int?分别存储到int[]数组中,虽然我认为这个问题不符合stackoverflow规则,通常,没有尝试过任何事情就要求完整的问题解决方案是不好的,尤其是那些看起来像是完整的家庭作业问题。我发布了我已经得到的代码。我想把它贴出来,但没用。我想你是新来的吧+感谢您努力编辑您的问题。谢谢。但我有不止一个文件要用。而且大多数都大于10。我只是设置了一个非常大的数字吗?请参阅更新的答案。为了便于编码,对于可变长度,可以使用列表而不是数组。若您的要求是返回数组类型,那个么您可以将列表强制转换为数组,非常感谢。这很有帮助!谢谢但我有不止一个文件要用。而且大多数都大于10。我只是设置了一个非常大的数字吗?请参阅更新的答案。为了便于编码,对于可变长度,可以使用列表而不是数组。若您的要求是返回数组类型,那个么您可以将列表强制转换为数组,非常感谢。这很有帮助+1:当您不确定数组大小时,使用列表更好。退出循环后,使用ArrayList.toArray将内容放入数组中。您最好保留ArrayList,而不是创建一个新的int数组+1:当您不确定数组大小时,使用List会更好。退出循环后,使用ArrayList.toArray将内容放入数组中。您最好保留ArrayList,而不是创建新的int数组