Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将.txt文件中的整数保存到数组中?_Java - Fatal编程技术网

Java 如何将.txt文件中的整数保存到数组中?

Java 如何将.txt文件中的整数保存到数组中?,java,Java,我有一个数组int[]number={1,2}; 但是我希望删除1,2,并用txt文件中的数字替换。 使用此方法,我可以从控制台中的文件中看到数字: public String[] readLines(String filename) throws IOException { FileReader fileReader = new FileReader(filename); BufferedReader bufferedReader = new BufferedReader(fi

我有一个数组int[]number={1,2}; 但是我希望删除1,2,并用txt文件中的数字替换。 使用此方法,我可以从控制台中的文件中看到数字:

public String[] readLines(String filename) throws IOException {
    FileReader fileReader = new FileReader(filename);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    List<String> lines = new ArrayList<String>();
    String line = null;
    while ((line = bufferedReader.readLine()) != null) {
        lines.add(line);
    }
    bufferedReader.close();
    return lines.toArray(new String[lines.size()]);
}

public static void testFileArrayProvider() throws IOException {
    algo1 fap = new algo1();
    String[] lines = fap
            .readLines("D:/Users/XXX/workspace/abc/src/abc1/Filename123");
    for (String line : lines) {
        System.out.println(line);
    }
}
public String[]读取行(字符串文件名)引发IOException{
FileReader FileReader=新的FileReader(文件名);
BufferedReader BufferedReader=新的BufferedReader(文件阅读器);
列表行=新的ArrayList();
字符串行=null;
而((line=bufferedReader.readLine())!=null){
行。添加(行);
}
bufferedReader.close();
返回lines.toArray(新字符串[lines.size()]);
}
公共静态void testFileArrayProvider()引发IOException{
algo1 fap=新的algo1();
字符串[]行=fap
.readLines(“D:/Users/XXX/workspace/abc/src/abc1/Filename123”);
用于(字符串行:行){
系统输出打印项次(行);
}
}
现在我需要将它们保存在数组中。但是怎么做呢?除息的 Thx伙计们

这应该可以:

   // In your case this is already populated
   String[] lines = new String[] {"123", "4567"};


    // Easier to work with lists first
    List<Integer> results = new ArrayList<>();
    for (String line : lines) {
        results.add(Integer.parseInt(line));
    }

    // If you really want it to be int[] for some reason
    int[] finalResults = new int[results.size()];

    for (int i = 0; i < results.size(); i++) {
        finalResults[i] = results.get(i);
    }

    // This is only to prove it worked
    System.out.println(Arrays.toString(finalResults));

你能举一个文件内容的例子吗?数字是如何分开的?数字,下一行,数字,下一行。因此,在Java8中,每行1个数字,
int[]finalResults=Arrays.stream(lines).mapToInt(Integer::parseInt).toArray()@bradimus更好。您应该将其作为正确答案发布。但是它在哪里将数字保存到我的[int]数字数组中?我是一个noob@NiceMice在这两个示例中,
finalResults
是一个包含数字的
int[]
。在第一个示例中,它发生在第二个
for循环中,其中
finalResults[i]=results.get(i)。在第二个示例中,它发生在
toArray()
call.hm的幕后,我将您的简短解决方案复制并粘贴到我的main中,但它在“line”-->array.stream(lines)中存在问题。有什么想法吗?
int[] finalResults = Arrays.stream(lines).mapToInt(Integer::parseInt).toArray();