如何阅读下一行? package项目2; 导入java.io.BufferedReader; 导入java.io.FileReader; 导入java.io.IOException; 导入java.util.ArrayList; 公共类项目2{ 公共静态void main(字符串[]args){ 字符串FirstName=“”; 字符串LastName=“”; ArrayList aList=新的ArrayList(); 试一试{ BufferedReader br=新的BufferedReader(新的文件阅读器(“C:\\Users\\vanchi\\Desktop\\test.txt”); 如果(!br.ready()) 抛出新IOException(); 而((line=br.readLine())!=null){ 列表.添加(行); //系统输出打印项次(行); 字符串tmp[]=line.split(“,”); FirstName=tmp[0]; LastName=tmp[1]; System.out.println(FirstName+“\t”+LastName); } br.close(); }捕获(IOE异常){ e、 printStackTrace(); } /*int sz=aList.size(); 对于(int i=0;i
确保文件的每一行确实至少有一个“,”,并使代码更加健壮:如何阅读下一行? package项目2; 导入java.io.BufferedReader; 导入java.io.FileReader; 导入java.io.IOException; 导入java.util.ArrayList; 公共类项目2{ 公共静态void main(字符串[]args){ 字符串FirstName=“”; 字符串LastName=“”; ArrayList aList=新的ArrayList(); 试一试{ BufferedReader br=新的BufferedReader(新的文件阅读器(“C:\\Users\\vanchi\\Desktop\\test.txt”); 如果(!br.ready()) 抛出新IOException(); 而((line=br.readLine())!=null){ 列表.添加(行); //系统输出打印项次(行); 字符串tmp[]=line.split(“,”); FirstName=tmp[0]; LastName=tmp[1]; System.out.println(FirstName+“\t”+LastName); } br.close(); }捕获(IOE异常){ e、 printStackTrace(); } /*int sz=aList.size(); 对于(int i=0;i,java,arraylist,Java,Arraylist,确保文件的每一行确实至少有一个“,”,并使代码更加健壮: package project2; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; public class Project2 { pub
package project2;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class Project2 {
public static void main(String[] args) {
String FirstName = "";
String LastName = "";
ArrayList aList = new ArrayList();
try {
BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\vanchi\\Desktop\\test.txt"));
if(!br.ready())
throw new IOException();
while ((line = br.readLine())!=null){
aList.add(line);
//System.out.println(line);
String tmp[] = line.split(",");
FirstName = tmp[0];
LastName = tmp[1];
System.out.println(FirstName + "\t" + LastName);
}
br.close();
}catch (IOException e){
e.printStackTrace();
}
/* int sz = aList.size();
for(int i=0; i<sz; i++){
System.out.println(aList.get(i).toString()); */
}
您只需删除这些行即可。因此,给您:)
V1:
包natalie.person.v1
if(!br.ready())
throw new IOException();
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.HashSet;
导入java.util.Set;
公共类运行库{
公共静态void main(字符串[]args){
Set allPersons=new HashSet();//或使用java.util.TreeSet()对列表进行排序
File dataFolder=新文件(“/home/agudkov/projects/rest/Natalie/data”);//请更改路径
对于(文件:dataFolder.listFiles()){
如果(!file.getName().endsWith(“.txt”){//请检查文件是否有.txt ext
继续;
}
addPersonsFromFile(文件,所有人);
}
for(字符串人:所有人){
系统输出打印项次(人);
}
}
私有静态void addPersonsFromFile(文件数据文件,设置为Set){
BufferedReader br=null;
试一试{
br=新的BufferedReader(新的文件读取器(数据文件));
弦线;
而((line=br.readLine())!=null){
字符串tmp[]=line.split(“,”);
如果(tmp长度<2){
继续;
}
字符串firstName=tmp[0];
字符串lastName=tmp[1];
toSet.add(firstName+“\t”+lastName);
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
如果(br!=null){
试一试{
br.close();
}捕获(IOE){}
}
}
}
}
V2有两类:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class RunMe {
public static void main(String[] args) {
Set<String> allPersons = new HashSet<>(); // or use java.util.TreeSet() to have the list sorted
File dataFolder = new File("/home/agudkov/projects/rest/Natalie/data"); // change the path, pls
for (File file : dataFolder.listFiles()) {
if (!file.getName().endsWith(".txt")) { // check the file has .txt ext
continue;
}
addPersonsFromFile(file, allPersons);
}
for (String person : allPersons) {
System.out.println(person);
}
}
private static void addPersonsFromFile(File dataFile, Set<String> toSet) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(dataFile));
String line;
while ((line = br.readLine()) != null) {
String tmp[] = line.split(",");
if (tmp.length < 2) {
continue;
}
String firstName = tmp[0];
String lastName = tmp[1];
toSet.add(firstName + "\t" + lastName);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {}
}
}
}
}
包natalie.person.v2;
导入java.util.Objects;
公共类人员实现可比性{
公共静态人员解析(字符串行){
字符串[]tmp=line.split(“,”);
如果(tmp.length>=2){
返回新人员(tmp[0],tmp[1]);
}
返回null;
}
私有最终字符串名;
私有最终字符串lastName;
公众人物(字符串名、字符串名){
this.firstName=firstName;
this.lastName=lastName;
}
公共字符串getFirstName(){
返回名字;
}
公共字符串getLastName(){
返回姓氏;
}
@凌驾
公共int hashCode(){
int hash=7;
hash=79*hash+Objects.hashCode(this.firstName);
hash=79*hash+Objects.hashCode(this.lastName);
返回散列;
}
@凌驾
公共布尔等于(对象obj){
if(obj==null){
返回false;
}
如果(getClass()!=obj.getClass()){
返回false;
}
最终人员其他=(人员)obj;
如果(!Objects.equals(this.firstName,other.firstName)){
返回false;
}
如果(!Objects.equals(this.lastName,other.lastName)){
返回false;
}
返回true;
}
@凌驾
公共内部比较(o人){
int结果=0;
if(firstName!=null){
结果=firstName.compareTo(o.firstName);
if(result==0&&lastName!=null){
结果=lastName.compareTo(o.lastName);
}
}
返回结果;
}
@凌驾
公共字符串toString(){
返回firstName+'\t'+lastName;
}
}
natalie.person.v2包;
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.HashSet;
导入java.util.Set;
公共类运行库{
公共静态void main(字符串[]args){
Set allPersons=new HashSet();//或使用java.util.TreeSet()对列表进行排序
File dataFolder=新文件(“/home/agudkov/projects/rest/Natalie/data”);//请更改路径
对于(文件:dataFolder.listFiles()){
如果(!file.getName().endsWith(“.txt”){//请检查文件是否有.txt ext
继续;
}
addPersonsFromFile(文件,所有人);
}
for(个人:所有人){
System.out.println(
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class RunMe {
public static void main(String[] args) {
Set<String> allPersons = new HashSet<>(); // or use java.util.TreeSet() to have the list sorted
File dataFolder = new File("/home/agudkov/projects/rest/Natalie/data"); // change the path, pls
for (File file : dataFolder.listFiles()) {
if (!file.getName().endsWith(".txt")) { // check the file has .txt ext
continue;
}
addPersonsFromFile(file, allPersons);
}
for (String person : allPersons) {
System.out.println(person);
}
}
private static void addPersonsFromFile(File dataFile, Set<String> toSet) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(dataFile));
String line;
while ((line = br.readLine()) != null) {
String tmp[] = line.split(",");
if (tmp.length < 2) {
continue;
}
String firstName = tmp[0];
String lastName = tmp[1];
toSet.add(firstName + "\t" + lastName);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {}
}
}
}
}
package natalie.person.v2;
import java.util.Objects;
public class Person implements Comparable<Person> {
public static Person parse(String line) {
String[] tmp = line.split(",");
if (tmp.length >= 2) {
return new Person(tmp[0], tmp[1]);
}
return null;
}
private final String firstName;
private final String lastName;
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
@Override
public int hashCode() {
int hash = 7;
hash = 79 * hash + Objects.hashCode(this.firstName);
hash = 79 * hash + Objects.hashCode(this.lastName);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Person other = (Person) obj;
if (!Objects.equals(this.firstName, other.firstName)) {
return false;
}
if (!Objects.equals(this.lastName, other.lastName)) {
return false;
}
return true;
}
@Override
public int compareTo(Person o) {
int result = 0;
if (firstName != null) {
result = firstName.compareTo(o.firstName);
if (result == 0 && lastName != null) {
result = lastName.compareTo(o.lastName);
}
}
return result;
}
@Override
public String toString() {
return firstName + '\t' + lastName;
}
}
package natalie.person.v2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class RunMe {
public static void main(String[] args) {
Set<Person> allPersons = new HashSet<>(); // or use java.util.TreeSet() to have the list sorted
File dataFolder = new File("/home/agudkov/projects/rest/Natalie/data"); // change the path, pls
for (File file : dataFolder.listFiles()) {
if (!file.getName().endsWith(".txt")) { // check the file has .txt ext
continue;
}
addPersonsFromFile(file, allPersons);
}
for (Person person : allPersons) {
System.out.println(person);
}
}
private static void addPersonsFromFile(File dataFile, Set<Person> toSet) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(dataFile));
String line;
while ((line = br.readLine()) != null) {
Person person = Person.parse(line);
if (person == null) {
continue;
}
toSet.add(person);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {}
}
}
}
}