-1

次のようなデータを含むテキストファイル textfile.txt があります。

A-abc , A-xyz , B-mno , A-ijk , B-pqr

ここで、このファイルから読み取り、値を 2 つの別個の配列"A"および"B"に格納する必要があります。これにより、接頭辞付きの"A-"値が配列 A に格納され、接頭辞 "B-" 付きの値が配列 B に格納されます。

また、データを保存する際、接頭辞を削除する"abc"必要があります。つまり、に保存するだけで済みますarray A

FileInputStream fstream = new FileInputStream("C:\opt\New_Workspace\Salary.txt"); 
// use DataInputStream to read binary NOT text
// DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
while ((strLine = br.readLine()) != null)   {
String[] arrayLine1= strLine.split(" , ");
for(String s:arrayLine1)

String[] arrayLine2 = s.split(": ");
{
if(s.matches("Basic: "))
{
basic = Double.parseDouble(arrayLine[1]);                 
}
else if(s.matches("Perc-D ");
{
percD = Double.parseDouble(arrayLine[3]);                
}
else if(s.matches("Perc-A: "))
{
percA = Double.parseDouble(arrayLine[5]);                 
}

}
4

2 に答える 2

0

これは急いで書いたので、誤りがあればご容赦ください:

String aStore = "";
String bStore = "";
String aFinal[];
String bFinal[];
try{
    Scanner input = new Scanner(new File("file.txt"));
    while(input.hasNextLine()){
        String message = input.nextLine();
        message = message.replace(" ", "");
        String store[] = message.split(",");
        for(int a = 0; a < store.length; a++){
            if((store[a]).contains("A-"){
                String t[] = (store[a]).split("-");
                aStore = aStore + "_" + t[1];
            }
            if((store[a]).contains("B-"){
                String t[] = (store[a]).split("-");
                bStore = bStore + "_" + t[1];
            }
        }
        aFinal = aStore.split("_");
        bFinal = bStore.split("-");
    }
    input.close();
}
catch(Exception e){}
于 2013-10-29T11:53:37.670 に答える