在Java中扫描txt文件中的文本并抛出部分I don';我不想要
假设我有一个文本文件,如下所示:在Java中扫描txt文件中的文本并抛出部分I don';我不想要,java,split,Java,Split,假设我有一个文本文件,如下所示: "CarInLot KLM456 ND Meter4 120 CarInLot VMK123 ME Moving 0 CarInLot DKC003 WA Meter5 30 Meter1 None 10 Meter2 None 0 Meter3 None 2 Meter4 Yes 12" if (token[0].equals("CarInLot")) { // do something // e.g. storin
"CarInLot KLM456 ND Meter4 120
CarInLot VMK123 ME Moving 0
CarInLot DKC003 WA Meter5 30
Meter1 None 10
Meter2 None 0
Meter3 None 2
Meter4 Yes 12"
if (token[0].equals("CarInLot"))
{
// do something
// e.g. storing the variables
// store token[i+1]
// store token[i+2]
// Etc..
} else if (token[0].equals("Meter"))
{
// do something
// e.g. storing the variables
// store token[i+1]
// store token[i+2]
// Etc..
}
然后我用
while (inputFile.hasNext())
{
// Read the next name.
String friendName = inputFile.nextLine();
String[] tokens = friendName.split(" ");
}
分开,但我想在车里用CarInLot开头,在车里用Meter开头。
我该怎么做?谢谢。在while循环中,迭代令牌并执行以下操作:
"CarInLot KLM456 ND Meter4 120
CarInLot VMK123 ME Moving 0
CarInLot DKC003 WA Meter5 30
Meter1 None 10
Meter2 None 0
Meter3 None 2
Meter4 Yes 12"
if (token[0].equals("CarInLot"))
{
// do something
// e.g. storing the variables
// store token[i+1]
// store token[i+2]
// Etc..
} else if (token[0].equals("Meter"))
{
// do something
// e.g. storing the variables
// store token[i+1]
// store token[i+2]
// Etc..
}
您可以将值存储在while循环中的
ArrayList
或(2D?数组
或类似的…中,迭代标记并执行以下操作:
"CarInLot KLM456 ND Meter4 120
CarInLot VMK123 ME Moving 0
CarInLot DKC003 WA Meter5 30
Meter1 None 10
Meter2 None 0
Meter3 None 2
Meter4 Yes 12"
if (token[0].equals("CarInLot"))
{
// do something
// e.g. storing the variables
// store token[i+1]
// store token[i+2]
// Etc..
} else if (token[0].equals("Meter"))
{
// do something
// e.g. storing the variables
// store token[i+1]
// store token[i+2]
// Etc..
}
您可以将值存储在
ArrayList
中,或者仅存储在(2D?数组中,或者类似的东西中…为每个对象创建构造函数,以接受每段数据作为参数。然后检查[]
的第一个索引以确定要创建的对象类型。创建对象并将其添加到相应类型的列表中
List<Meter> meters = new ArrayList<Meter>();
List<Car> cars = new ArrayList<Car>();
while (inputFile.hasNext())
{
String[] tokens = inputFile.nextLine().split(" ");
if(tokens[0].equals("CarInLot")){
cars.add(new Car(tokens[1], tokens[2], tokens[3], tokens[4]));
}else if(tokens[0].equals("Meter")){
meters.add(new Meter(tokens[1], tokens[2]));
}
}
List meters=new ArrayList();
List cars=new ArrayList();
while(inputFile.hasNext())
{
String[]tokens=inputFile.nextLine().split(“”);
if(令牌[0]。等于(“CarInLot”)){
添加(新车(代币[1],代币[2],代币[3],代币[4]);
}else if(标记[0]。等于(“米”)){
添加(新仪表(令牌[1],令牌[2]);
}
}
为每个对象生成构造函数,该构造函数接受每段数据作为参数。然后检查[]
的第一个索引以确定要创建的对象类型。创建对象并将其添加到相应类型的列表中
List<Meter> meters = new ArrayList<Meter>();
List<Car> cars = new ArrayList<Car>();
while (inputFile.hasNext())
{
String[] tokens = inputFile.nextLine().split(" ");
if(tokens[0].equals("CarInLot")){
cars.add(new Car(tokens[1], tokens[2], tokens[3], tokens[4]));
}else if(tokens[0].equals("Meter")){
meters.add(new Meter(tokens[1], tokens[2]));
}
}
List meters=new ArrayList();
List cars=new ArrayList();
while(inputFile.hasNext())
{
String[]tokens=inputFile.nextLine().split(“”);
if(令牌[0]。等于(“CarInLot”)){
添加(新车(代币[1],代币[2],代币[3],代币[4]);
}else if(标记[0]。等于(“米”)){
添加(新仪表(令牌[1],令牌[2]);
}
}
检查第一个标记,并将其与您期望的术语进行比较。检查第一个标记,并将其与您期望的术语进行比较。在这种情况下,如果使用,则使用if
。还有,为什么索引i
而不是0
?@KevinBowersox:我已经在更正:)感谢您成为sharpAn,否则如果适合这种情况。还有,为什么索引i
而不是0
?@KevinBowersox:我已经在更正:)谢谢你的尖锐