Reputation: 3
Have created a file that stores records with data separated by "," and ending with ";".
So far I have been able to append to the file, but now I need to update specific elements in a record. Each record starts with a unique identifier.
Below is a sample of how the file is opened and each unique ID is read into an array:
DataInputStream fin = new DataInputStream(openFileInput("Updates.txt"));
try {
for (;;) {
String record = fin.readUTF();
Log.d(DEBUG_TAG, "Record "+record);
elements = record.split(",");
String trackingNo = elements[0];
UpdateRecord item = new UpdateRecord(trackingNo);
}
}
catch (EOFException e) {
Log.i("Data Input Sample", "End of file reached");
}
fin.close();
Upvotes: 0
Views: 865
Reputation: 11
Sub example1()
Dim strFinal As String
Dim strline As String
Open "D:\textfile.txt" For Input As #1
While EOF(1) = False
Line Input #1, strline
If Len(strline) > 24 Then
strFinal = strFinal + ModifyColumn(strline)
Else
strFinal = strFinal + strline + vbCrLf
End If
Wend
strFinal = strFinal
Close #1
Open "D:\textfile.txt" For Output As #1
Print #1, strFinal
Close #1
End Sub
Function ModifyColumn(ByVal strInput As String) As String
Dim arrString() As String
Dim strOutput As String
'split the columns
arrString = Split(strInput, vbTab)
'concatenate the first 2 column as they are
strOutput = arrString(0) + vbTab + arrString(1) + vbTab + arrString(2)
'add 100$ to column3
requirevalue = Left(arrString(3), InStr(1, arrString(3), "|") - 1)
last3Digit = Right(requirevalue, 3)
If Left(requirevalue, 3) = "max" Then
Newvalue = vbTab + "OTPxxxxxx" & last3Digit & "|" & Right(arrString(3), Len(arrString(3)) - InStr(1, arrString(3), "|")) + vbCrLf
Else
Newvalue = vbTab + arrString(3) + vbCrLf
End If
strOutput = strOutput & Newvalue
'strOutput = strOutput + Strings.Trim(Str(CDbl(Left(arrString(3), Len(arrString(2)) - 1)) + 100)) + "$" + vbCrLf
ModifyColumn = strOutput
End Function`enter code here`
Upvotes: 1