已创建一个文件,用于存储数据以“,”分隔并以“;”结尾的记录。
到目前为止,我已经能够附加到文件,但现在我需要更新记录中的特定元素。每条记录都以唯一标识符开头。
下面是如何打开文件以及将每个唯一 ID 读入数组的示例:
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();
最佳答案
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`
关于java - 修改文本文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10855039/