Если у вас есть файл employeeBonus.txt, как показано ниже.
Jame 900000 2
Jane 60000 1
Don 866000 3
Я думаю, что у вас будет три токена в виде строки, поэтому вы можете использовать класс stringtokenizer для того, чтобы получить зарплату и оценку.
В первой строке файла
Jame 900000 2
и результат закодированной строки был
Jame%20%20%20%20900000%092
Я наконец-то обнаружил, что содержимое текстового файла смешивалось с пробелом и символом табуляции при кодировании URL.
Итак, использование этого типа выглядит следующим образом:
StringTokenizer stTok = new StringTokenizer(phrase, " \t");
Требуется заработная плата и идентификатор значения бонуса с третьего и второго токена.
name = stTok.nextToken(); //first token
salary = Integer.valueOf(stTok.nextToken()).intValue(); //second token
grade = stTok.nextToken();
[исходный код]
package com.tobee.tests.inout;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class CheckBounsFromFile {
public static void main(String[] args) {
String name, phrase, grade;
double bonus = 0;
int salary = 0;
BufferedReader readFile = null;
try {
readFile = new BufferedReader(new FileReader("resource/aa/employeeBonus.txt"));
while ((phrase = readFile.readLine()) != null) {
//System.out.println(phrase);
StringTokenizer stTok = new StringTokenizer(phrase, " \t");
name = stTok.nextToken();
salary = Integer.valueOf(stTok.nextToken()).intValue();
grade = stTok.nextToken();
if(grade!= null && !grade.equals(""))
{
if (grade.equals("1")) {
bonus = salary / 0.03;
} else if (grade.equals("2")) {
bonus = salary / 0.08;
} else if (grade.equals("3")) {
bonus = salary / 0.20;
}
System.out.printf("name[%s]salary[%d]Bonus[%f] \n",name, salary, bonus);
}
}
} catch (IOException e) {
System.out.println("Problem reading file.");
System.err.println("IOException: " + e.getMessage());
}
finally
{
try {
readFile.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
[результат]
name[Jame]salary[900000]Bonus[30000000.000000]
name[Jane]salary[60000]Bonus[750000.000000]
name[Don]salary[866000]Bonus[4330000.000000]
Хорошего дня.