有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用java从文件中读取数字

我为另一篇帖子感到抱歉,这是我的代码:它可以工作,可以打印文本文件,但我不知道如何将第一行与其他行分开。我的意思是,我想把第一行的值保存到两个变量中,然后处理剩下的行

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;


public class read {
    public static void main (String[] args) throws IOException
    {
        String scan;
        FileReader file = new FileReader("C:\\Users\\W7\\workspace\\SimpleGraph(01-10-13)\\numbers.txt");
        BufferedReader br = new BufferedReader(file);

        while((scan = br.readLine()) != null)
                {
            System.out.println(scan);
                }
        br.close();
    }
}

共 (2) 个答案

  1. # 1 楼答案

    只需读取分隔的第一行,然后遍历文件的其余部分。 编辑: 您可以将字符串拆分为一个数组,然后像这样读取整数:

    String scan;
    FileReader file = new FileReader("C:\\Users\\W7\\workspace\\SimpleGraph(01-10-13)\\numbers.txt");
    BufferedReader br = new BufferedReader(file);
    String first = br.readLine();
    if ( null != first) {
        System.out.println("First is: " + first);
        String[] numberStrings = first.split(" ");
        int[] numbers = new int[numberStrings.length];
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = Integer.parseInt(numberStrings[i]);
            System.out.println("Number " + i + " is " + numbers[i]);
        }
        while((scan = br.readLine()) != null) {
            System.out.println(scan);
        }
    }
    br.close();
    
  2. # 2 楼答案

    试试这个

                public static void main(String[] args) throws IOException {
                String scan;
                FileReader file = new FileReader("C:\\Users\\W7\\workspace\\SimpleGraph(01-10-13)\\numbers.txt");
                BufferedReader br = new BufferedReader(file);
                boolean isFirstLine = true;
                int forstNo = 0;
                while ((scan = br.readLine()) != null) {
                    if(isFirstLine){
                        forstNo = Integer.parseInt(scan);
                        isFirstLine = false;
                    }
    
                    System.out.println(scan);
                }
                br.close();
                System.out.println("first no "+forstNo);
            }