Действительно, не могу понять вопросы, но сделаю несколько замечаний.
// this source string: serveral columsn with different separators
String str = "209|4900,10368,11093,11581";
Согласно вашему коду, вы пытаетесь поместить все отдельные числа в строковый массив, выполнив два шага:
String[] arr = str.split("\\|"); // not line.split("\\|,",-1)
// arr[0] = 209
// arr[1] = [4900,10368,11093,11581]
String[] tmp = arr[1].split(",")
// tmp[0] = 4900
// tmp[1] = 10368
// tmp[2] = 11093
// tmp[3] = 11581
Если это так, вы можете сделать это за один шаг:
String[] arr = str.split("[\\|,]");
// arr[0] = 209
// arr[1] = 4900
// arr[2] = 10368
// arr[3] = 11093
// arr[4] = 11581