Java 如何在给定搜索中加载相应的数据
我已经制作了一个程序,将输入的数据保存在文本字段中。它的保存技术是这样的Java 如何在给定搜索中加载相应的数据,java,arrays,string,search,java-io,Java,Arrays,String,Search,Java Io,我已经制作了一个程序,将输入的数据保存在文本字段中。它的保存技术是这样的 data0 = student number data1 = name data2 = section data3 = cp data4 = email data5 = address 在保存的文件中: data0 | data1 | data2 | data3 | data4 | data5 data0 | data1 | data2 | data3 | data4 | data5 data0 | data1 | da
data0 = student number
data1 = name
data2 = section
data3 = cp
data4 = email
data5 = address
在保存的文件中:
data0 | data1 | data2 | data3 | data4 | data5
data0 | data1 | data2 | data3 | data4 | data5
data0 | data1 | data2 | data3 | data4 | data5
data0 | data1 | data2 | data3 | data4 | data5
data0 | data1 | data2 | data3 | data4 | data5
数据0具有唯一性,
这是我用来搜索学号“data0”的代码
例如,如果我搜索12293
data0 | data1 | data2 | data3 | data4 | data5
data0 | data1 | data2 | data3 | data4 | data5
12293 | blahh | blehh | blihh | blohh | bluhh
data0 | data1 | data2 | data3 | data4 | data5
第3行有一个匹配,等等,等等,等等,等等,必须在不同的文本区域打印
但我不知道在搜索有匹配项时如何将数据1 |数据2 |数据3 |数据4 |数据5 |切片到数组中
这是我的代码:
import java.io.*;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Jfetizanan
*/
public class DATALOAD {
/**
* @param args the command line arguments
* @throws UnsupportedEncodingException
* @throws FileNotFoundException
* @throws IOException
*/
public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
try{
FileInputStream fstream = new FileInputStream("data.dat");
try (DataInputStream in = new DataInputStream(fstream)) {
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
if (strLine.startsWith("JFETZ")){
System.out.println("Data Found");
}
else
{System.out.println("Nothing Found in this line");}
}
}
}catch (Exception e){
System.err.println("Error: " + e.getMessage());
}
}
}
它由|
执行
String values[] = strLine.split("\\|");
并将搜索键与数组的第一个元素值[0]
while ((strLine = br.readLine()) != null) {
String values[] = strLine.split("\\|");
if ("JFETZ".equals(values[0]))){
System.out.println("Data Found");
}else{
System.out.println("Nothing Found in this line");}
}
}
你得到的
str
像:
String str = "12293 | blahh | blehh | blihh | blohh | bluhh";
String[] arr = str.split("\\| "); // give space after | to trim spaces
是的,没错,我刚查过Eclipse。编辑:)如果您想阅读文本,请不要使用DataInputStream,它比有用的内容更容易混淆。