Here is my use case ,
I'm reading my input file
file.in
as an object
then converting it as a String
0000001HL26110650059147 TEST- TEST
0000002HL34110FON202212217835294783529 20221221123000 650059147
0000003HL34120FON20221221783529BLE50000395 13626142
0000004HL34120FON20221221783529BLE50000395 13626143
Here is my positions (0-7 : it's a sequence
) , (11-14 : it's my section
) and the important one is (47-67 : it's the Oldvalue
that i want to change in one condition if section
is equals
to 120
)
For that ,i have to take the Oldvalue
from postion 47-67
and check in database using simple query
select NewValue from myTable where Oldvalue = 'Oldvalue'
Then put the NewValue
in the place of the Oldvalue
in my String
So my output
would be :
0000001HL26110650059147 TEST- TEST
0000002HL34110FON202212217835294783529 20221221123000 650059147
0000003HL34120FON20221221783529BLE50000395 NewValue1
0000004HL34120FON20221221783529BLE50000395 NewValue2
Note that the other sections
will remain unchanged
just the section equals 120
and there is multiple lines where section equals 120
Any idea how to do this please
Here is my attemp but could not continue to find solution ,
try {
File file = new File("C:/Users/20230309.in");
Scanner scanner = new Scanner(file);
List<String> lines = new ArrayList<>();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
lines.add(line);
}
scanner.close();
System.out.println(lines);
for (String element : lines) {
if (element.length()>11 && "120".equals(element.trim().substring(11, 14)))
{
String oldValue = element.substring(47, 67);
}
}
} catch (FileNotFoundException e) {
System.out.println("File not found.");
e.printStackTrace();
}