У меня есть программа с графическим интерфейсом, в которую я вставляю пару шестнадцатеричных символов (String), нажимаю кнопку поиска и нахожу для нее код. Я импортирую все шестнадцатеричные коды, для которых у меня есть код, из файла CSV. Я хочу, чтобы если я ввожу, например: 11 D7 E2 FA
, моя программа будет искать только 2-й фрагмент, x
означает игнорировать: x1 x7 x2 xA
, и если она находит что-то подобное в CSV, она дает мне код для этого. Это то, что у меня есть до сих пор, это находит меня только в тех случаях, когда строки совпадают.
codeOutputField.setText("");
String input = hexEntryField.getText();
try {
br = new BufferedReader(new FileReader(FIS));
while ((line = br.readLine()) != null) {
code = line.split(csvSplitBy);
if (input.equals(code[0])) {
codeOutputField.setText(code[1]);
}
}
}
Образец CSV-файла:
01 5F 1E CE,0055
01 5F 13 D0,0062
01 5E 36 FE,0101
00 5E 36 FF,1002
Это код, который работает для меня сейчас, хотел поделиться им. Единственная проблема, которая у меня есть сейчас, заключается в том, что я могу запустить файл jar
только из файла bat
, двойной щелчок не работает. Понятия не имею почему.
String input = hexEntryField.getText();
String[] myStringArray = input.split("");
codeOutputField.setText("");
try {
br = new BufferedReader(new FileReader(FIS));
while ((line = br.readLine()) != null) {
code = line.split(csvSplitBy);
List<String> items = Arrays.asList(code[0].split(""));
System.out.println(items);
if (myStringArray[1].equals(items.get(1))
&& myStringArray[4].equals(items.get(4))
&& myStringArray[7].equals(items.get(7))
&& myStringArray[10].equals(items.get(10))) {
codeOutputField.setText(code[1]);
}
}
}