Java 如何从特定行开始读取.txt文件?

Java 如何从特定行开始读取.txt文件?,java,arrays,file-io,Java,Arrays,File Io,我有一个以下格式的文本文件 x y 3 8 mz int 200.1 3 200.3 4 200.5 5 200.7 2 等等。现在在这个文件中,我想将x和y值保存在两个不同的变量中,将mz和int值保存在两个不同的数组中。如何用Java读取这样的文件。格式是否固定?如果是,则可以跳过第一行,读取下一行,将其拆分并分配给两个变量 然后,您可以跳过下一行,拆分下一行中的每一行并分配给数组。import java.io.BufferedReader;

我有一个以下格式的文本文件

x     y
3     8
mz    int
200.1    3
200.3    4
200.5    5
200.7    2

等等。现在在这个文件中,我想将x和y值保存在两个不同的变量中,将mz和int值保存在两个不同的数组中。如何用Java读取这样的文件。

格式是否固定?如果是,则可以跳过第一行,读取下一行,将其拆分并分配给两个变量

然后,您可以跳过下一行,拆分下一行中的每一行并分配给数组。

import java.io.BufferedReader;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;


public class Demo {

    public static void main(String[] args){
        BufferedReader reader = null;
        String line = null;
        List<String> list1 = new ArrayList<String>();
        List<String> list2 = new ArrayList<String>();
        try {
            reader = new BufferedReader(new FileReader("c:\\file.txt"));
            int i = 0;
            while ((line = reader.readLine()) != null) {
                i ++ ;
                if(i > 3){
                    String temp1 = line.split("    ")[0];
                    String temp2 = line.split("    ")[1];
                    list1.add(temp1);
                    list2.add(temp2);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if(reader != null) {
                try {
                    reader.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        System.out.println(list1);
        System.out.println(list2);
    }
}
导入java.io.FileReader; 导入java.util.ArrayList; 导入java.util.List; 公开课演示{ 公共静态void main(字符串[]args){ BufferedReader reader=null; 字符串行=null; List list1=新的ArrayList(); List list2=新的ArrayList(); 试一试{ reader=新的BufferedReader(新的文件读取器(“c:\\file.txt”); int i=0; 而((line=reader.readLine())!=null){ i++; 如果(i>3){ 字符串temp1=line.split(“”[0]; 字符串temp2=line.split(“”[1]; 列表1.add(temp1); 列表2.add(temp2); } } }捕获(例外e){ e、 printStackTrace(); }最后{ if(读卡器!=null){ 试一试{ reader.close(); }捕获(例外e){ e、 printStackTrace(); } } } System.out.println(列表1); System.out.println(列表2); } }

顺便说一句:这是。

是的。格式是固定的。