如何将一行txt文件拆分成不同的变量?

How to split a line of a txt file into different variables?

我有一个类似这样的 txt:

约翰 113
保罗 024
大卫 094
彼得 085

从每一行我想有 2 个变量,一个是名称的字符串类型,一个是数字的 int

我写了这段代码,它做了什么,它接受了一行所说的内容,并将它放入一个名为 names 的数组中,但我想知道如何将这行拆分为两个不同的变量。

import java.io.*;
public class Read {
    public static void main(String[] args) throws Exception{

        FileReader file = new FileReader("test.txt");
        BufferedReader reader = new BufferedReader(file);
        String names[] = new String[10];
        for(int i = 0; i<names.length;  i++){
            String line = reader.readLine();
            if(line != null){
                names[i] = line;
            }
        }               
    }
}

你应该使用 split() :

String names[] = new String[10];
int numbr[] = new int[10];
    for(int i = 0; i<names.length;  i++){
        String line = reader.readLine();
        if(line != null){
            names[i] = line.split(" ")[0];
            numbr[i] = Integer.parseInt(line.split(" ")[1]);

        }


    }      

参考:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)

这与在您的问题中使用单词拆分一样直观。字符串 class 有一个拆分函数,可以使用给定的参数拆分字符串。

 import java.io.*;
 public class Read { 
        public static void main(String[] args) throws Exception{

        FileReader file = new FileReader("test.txt");
        BufferedReader reader = new BufferedReader(file);
        String names[] = new String[10];
        int num[] = new int[10];
        String lineSplit[] = new String[2]; 
        for(int i = 0; i<names.length;  i++){
              String line = reader.readLine();
              if(line != null){
                   //splits line using space as the delimeter
                   lineSplit = line.split("\s+");
                   names[i] = lineSplit[0];
                   num[i] = Integer.parseInt(lineSplit[1]);
              }
        }               
 }
 }