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

Java 如何将一行txt文件拆分为不同的变量?,java,arrays,string,bufferedreader,filereader,Java,Arrays,String,Bufferedreader,Filereader,我有一个类似如下的txt: Jhon 113 保罗024 大卫094 彼得085 从每一行我想有两个变量,一个是字符串类型的名称,一个是int类型的数字 我写了这段代码,它做了什么,将一行所说的内容,并将其与一个名为names的数组相加,但我想知道如何将这行拆分为两个不同的变量 import java.io.*; public class Read { public static void main(String[] args) throws Exception{ Fi

我有一个类似如下的txt:

Jhon 113
保罗024
大卫094
彼得085

从每一行我想有两个变量,一个是字符串类型的名称,一个是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;
            }
        }               
    }
}
import java.io.*;
公开课阅读{
公共静态void main(字符串[]args)引发异常{
FileReader文件=新的FileReader(“test.txt”);
BufferedReader reader=新的BufferedReader(文件);
字符串名称[]=新字符串[10];
对于(int i=0;i您应该使用
split()

String name[]=新字符串[10];
int numbr[]=新int[10];

对于(int i=0;i来说,这就像在问题中使用单词split一样直观。String类有一个split函数,可以使用给定的参数分割字符串

 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]);
              }
        }               
 }
 }
import java.io.*;
公共类读取{
公共静态void main(字符串[]args)引发异常{
FileReader文件=新的FileReader(“test.txt”);
BufferedReader reader=新的BufferedReader(文件);
字符串名称[]=新字符串[10];
int num[]=新的int[10];
字符串lineSplit[]=新字符串[2];

对于(int i=0;i)您没有编写此代码。如果编写了此代码,您将知道如何拆分这两个值。
String.split(\\s+);
返回一个
String[]
每个
字符串
空间拆分
我确实编写了该代码,但我仅使用名称对其进行了测试,我不知道如何拆分它们,您放在那里的代码不会返回int和它返回的字符串以及数组strings@chathu..我已将num创建为int[]数组,因此使用Integer.parseInt()用于在存储之前将其转换为int。@dsh…感谢格式化代码…:)
 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]);
              }
        }               
 }
 }