[英]How to search by name in a file?
如何在包含名稱和年齡的對象的文件中按名稱查找?
我想從文件中按名稱搜索它。 我完成了將對象寫入文件並從文件中讀取的工作。
Demo object1 = new Demo(100,"saran");
Demo object2 = new Demo(20 ,"nivas");
ArrayList<Demo> list=new ArrayList<>();
try {
FileOutputStream file=new FileOutputStream("C:\\Users\\SARANNIVAS\\Documents\\file\\obj");
ObjectOutputStream out=new ObjectOutputStream(file);
list.add(object1);
list.add(object2);
out.writeObject(list);
out.close();
file.close();
System.out.println("object has been serialized");
} catch(IOException ex)
{
ex.printStackTrace();
System.out.println("exception is caught");
}
try {
FileInputStream file=new FileInputStream("C:\\Users\\SARANNIVAS\\Documents\\file\\obj");
ObjectInputStream in=new ObjectInputStream(file);
ArrayList<Demo> list1=new ArrayList<>();
list1=(ArrayList<Demo>)in.readObject();
for(Demo d:list1) {
System.out.println(d.a);
System.out.println(d.b);
}
} catch(IOException ex) {
System.out.println("IOException is caught");
}
我假設您嘗試搜索從文件中讀回的數組列表。 這樣對嗎? 您可以使用以下內容搜索列表...
public class DemoDemo {
public static void main(String[] args) {
Demo object1 = new Demo(100,"saran");
Demo object2 = new Demo(20 ,"nivas");
List<Demo> list=new ArrayList<>();
list.add(object1);
list.add(object2);
list
.stream()
.filter(d1 -> d1.name.equalsIgnoreCase("saran"))
.forEach(d2 -> System.out.println(d2.name + " of age " + d2.age));
}
}
class Demo {
public final int age;
public final String name;
public Demo (int age, String name) {
this.age = age;
this.name = name;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.