1

入力したデータをテキストフィールドに保存するプログラムをすでに作成しています。その節約術はこんな感じ

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

data0は一意です。これは、たとえば12293を検索する場合、学生番号「data0」を検索するために使用するコードです

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行目に一致があります.blah,blehh,blihh,blohh,bluhhは別のテキストエリアに出力する必要があります

しかし、data1|data2|data3|data4|data5| をスライスする方法がわかりません。検索で一致した場合に配列に

この私のコード:

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());
      }
    }
}
4

2 に答える 2

0

split()それ|によって

String values[] = strLine.split("\\|");

検索キーを配列の最初の要素と比較しますvalues[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");}
 }
}
于 2012-08-14T09:39:19.513 に答える
0

あなたはstr次のようになります:

String str = "12293 | blahh | blehh | blihh | blohh | bluhh";
String[] arr = str.split("\\| "); // give space after | to trim spaces
于 2012-08-14T09:39:54.193 に答える