如何忽略 Java 中不能分成 3 列的行?
How to ignore lines that cannot be split in 3 columns in Java?
我有一个这样读取的文件:
James#Smith#777-888
Lucas#Fisher#888-666
Marie#Holmes
并且我希望我的 Java 程序忽略不包含 3 个元素(名字、姓氏、phone 数字)的行。
我找不到将此信息集成到下面的代码中的方法。有什么想法吗?
这是我的代码:
import java.util.*;
import java.io.*;
public class Atzendaa
{
public static void main(String[] args)
{
try
{
BufferedReader br = new BufferedReader(new FileReader("C:\file.txt"));
ArrayList <String> name = new ArrayList<String>();
ArrayList <String> surname = new ArrayList<String>();
ArrayList <String> phone = new ArrayList<String>();
String line = br.readLine();
while(line!=null)
{
String[] del = line.split("#");
surname.add(del[0]);
name.add(del[1]);
phone.add(del[2]);
line = br.readLine();
}
br.close();
System.out.println(surname);
System.out.println(name);
System.out.println(phone);
}
catch(IOException ex)
{
System.out.println("Problem reading from file");
}
}
你必须添加一个 if 条件来检查,
if (del.length == 3)
如果字符串数组长度为3
while(line!=null)
{
String[] del = line.split("#");
if (del.length == 3)
{
surname.add(del[0]);
name.add(del[1]);
phone.add(del[2]);
}
line = br.readLine();
}
我有一个这样读取的文件:
James#Smith#777-888
Lucas#Fisher#888-666
Marie#Holmes
并且我希望我的 Java 程序忽略不包含 3 个元素(名字、姓氏、phone 数字)的行。 我找不到将此信息集成到下面的代码中的方法。有什么想法吗?
这是我的代码:
import java.util.*;
import java.io.*;
public class Atzendaa
{
public static void main(String[] args)
{
try
{
BufferedReader br = new BufferedReader(new FileReader("C:\file.txt"));
ArrayList <String> name = new ArrayList<String>();
ArrayList <String> surname = new ArrayList<String>();
ArrayList <String> phone = new ArrayList<String>();
String line = br.readLine();
while(line!=null)
{
String[] del = line.split("#");
surname.add(del[0]);
name.add(del[1]);
phone.add(del[2]);
line = br.readLine();
}
br.close();
System.out.println(surname);
System.out.println(name);
System.out.println(phone);
}
catch(IOException ex)
{
System.out.println("Problem reading from file");
}
}
你必须添加一个 if 条件来检查,
if (del.length == 3)
如果字符串数组长度为3
while(line!=null)
{
String[] del = line.split("#");
if (del.length == 3)
{
surname.add(del[0]);
name.add(del[1]);
phone.add(del[2]);
}
line = br.readLine();
}