2015-09-25 2 views
0

Мне нужно записать в существующий текстовый файл на 30-й позиции. Я использую поиск, но не работаю. используя нижеприведенный код. Использование Startposition as 30.запись данных в определенную позицию в текстовом файле

Public Sub WriteToFile(ByVal data As DataTable, ByVal FileName As String, ByVal FieldLength As String, ByVal StartPosition As String) 
     Dim sbColumnData As New StringBuilder 

     Using writer = New StreamWriter(Directory.GetCurrentDirectory() + "\test.txt") 
      For Each oRecord In data.Rows 
       sbColumnData.Clear() 
       If oRecord(0).ToString().Length < FieldLength Then 
        sbColumnData.Append(oRecord(0).ToString().PadRight(FieldLength)) 
       ElseIf oRecord(0).ToString().Length = FieldLength Then 
        sbColumnData.Append(oRecord.ToString()) 
       Else 
        sbColumnData.Append(oRecord.ToString().Substring(0, FieldLength)) 
       End If 
       writer.Seek(0, StartPosition) 

       writer.WriteLine(sbColumnData) 
       writer.Flush() 
      Next 

     End Using 

    End Sub 

ответ

Смежные вопросы