java - 用偶数和奇数分隔文件中的行

标签 java arrays file-io bufferedreader

我有一个设置如下的文件:

10   10
12   32
38   12

我需要将行放在一个数组的偶数槽中,将行放在另一个数组的奇数槽中。我是java新手,我不知道如何做到这一点。我已经在互联网上搜索了几个小时,但没有找到任何东西。请帮我!我将非常感激!

我正在使用缓冲读取器来读取文件。我已经编写了一个程序来读取文件并将所有行放入一个数组中,现在我只需要知道如何对其进行编码以分隔行。因此第 1,3,5,7,9 行将在一个数组中,第 2,4,6,8 行将在另一个数组中。

我将它们放入一个数组的代码:

 private static final String FILE = "file.txt";
    private static Point[] points;


    public static void main(final String[] args){
        try{
            final BufferedReader br = new BufferedReader(new FileReader(new File(FILE)));
            points = new Point[Integer.parseInt(br.readLine())];
            int i = 0;
            int xMax = 0;
            int yMax = 0;
            while(br.ready()){
                final String[] split = br.readLine().split("\t");
                final int x = Integer.parseInt(split[0]);
                final int y = Integer.parseInt(split[1]);
                xMax = Math.max(x, xMax);
                yMax = Math.max(y, yMax);
                points[i++] = new Point(x, y);




            }

最佳答案

尝试

    List<String> list1 = new ArrayList<>();
    List<String> list2 = new ArrayList<>();
    String line;
    for (int i = 0; (line = br.readLine()) != null; i++) {
        if (i % 2 == 0) {
            list1.add(line);
        } else {
            list2.add(line);
        }
    }
    String[] even = list1.toArray(new String[list1.size()]);
    String[] odd = list2.toArray(new String[list2.size()]);

关于java - 用偶数和奇数分隔文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14658545/

相关文章:

java - java 中的 g_ascii_strcasecmp 等效项

arrays - 循环中的多个计时器

java - openAssetFileDescriptor 不会截断 OneDrive 文件

java - 如何将不同的菜单项添加到多个上下文菜单?

java - 如何调用重载方法的最具体版本?

javascript - jQuery 中 .push 数组值之间的空格

javascript - JavaScript 是否有一种方法可以根据开始、停止和所需的返回值数量返回一个数字数组?

java - 如何创建一个文件并在其上写入 URL

security - 在delphi7中安全删除文件

java - MethodLength 和 FileLength 的最佳检查样式设置是什么?