如何将一行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]);
}
}
}
}
我有一个类似这样的 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]);
}
}
}
}