新聞中心
大家好,請(qǐng)問vb.net如何將一個(gè)txt文本文件中指定位置的內(nèi)容替換掉??
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)溧陽(yáng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Dim txt As String = My.Computer.FileSystem.ReadAllText("c:\新建 文本文檔.txt", System.Text.Encoding.Default) '先讀取文本中所有內(nèi)容
My.Computer.FileSystem.WriteAllText("c:\新建 文本文檔.txt", "", False, System.Text.Encoding.Default) '清空原文本內(nèi)容
Dim AllLine() = Split(txt, vbCrLf) '按回車符號(hào)切割成數(shù)組
For i As Integer = 0 To UBound(AllLine) '循環(huán)數(shù)組
' AllLine(i) = Replace(AllLine(i), "000", "111") '如果所有行都是統(tǒng)一轉(zhuǎn)換則本條生效
If i = 5 Then '只轉(zhuǎn)換第六行 起始是0,所以5實(shí)際為第6行
AllLine(i) = Replace(AllLine(i), "000", "111")
End If
My.Computer.FileSystem.WriteAllText("c:\新建 文本文檔.txt", AllLine(i) vbCrLf, True, System.Text.Encoding.Default) '按行重新寫入
Next
End Sub
vb.net 怎么寫入和多行讀取txt文件,而且多次寫如之前的不被覆蓋?
.net應(yīng)該提供了此類函數(shù)。如C#就有File.AppendAllText(filename,string)用于追加內(nèi)容,F(xiàn)ile.ReadAllLine(filename)用于讀取多行。
vb.net請(qǐng)教怎么把一個(gè)文件夾下所有txt文本移動(dòng)到另一個(gè)文件夾里^_^ tks
在窗體上添加2個(gè)文本框,1個(gè)按鈕:
其中1個(gè)文本框用來(lái)輸入:源文件夾,另1個(gè)文本框用來(lái)輸入目標(biāo)文件夾
1個(gè)按鈕編寫代碼:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MySourceFolder As String
If Microsoft.VisualBasic.Right(TextBox1.Text, 1) = "\" Then
MySourceFolder = TextBox1.Text
Else
MySourceFolder = TextBox1.Text "\"
End If
Dim MyDestFolder As String
If Microsoft.VisualBasic.Right(TextBox2.Text, 1) = "\" Then
MyDestFolder = TextBox2.Text
Else
MyDestFolder = TextBox2.Text "\"
End If
Dim MyDir As New System.IO.DirectoryInfo(MySourceFolder)
Dim MyFiles() As System.IO.FileInfo = MyDir.GetFiles("*.txt")
For Each MyFile As System.IO.FileInfo In MyFiles
System.IO.File.Copy(MySourceFolder MyFile.Name, MyDestFolder MyFile.Name, True) '允許同名覆蓋,否則為False
Next
End Sub
VB.NET2010 如何復(fù)制指定目錄下按類型的所有文件到另一文件夾 復(fù)制后再刪除原來(lái)的文件?
這段代碼的問題是:
首先f(wàn)or each循環(huán)在files里查找文件對(duì)象,但是f變量聲明為string了,無(wú)法讓它獲取對(duì)象;
然后file.copy的變量file沒有任何聲明,也沒有初始化賦值等;
最后,整個(gè)for each循環(huán)里查找集合files的文件,由于初始化的循環(huán)計(jì)數(shù)器仍然按照最初設(shè)定的文件數(shù)目向后遞增(文件地址),但是實(shí)際文件刪除一部分,后續(xù)的文件位置就不能跟循環(huán)計(jì)數(shù)指針匹配了,所以默認(rèn)為查找不到文件,將會(huì)報(bào)錯(cuò)。一般的做法時(shí)把復(fù)制和刪除分別放在2次循環(huán)里,第一次只復(fù)制文件,第二次才去刪除。
請(qǐng)教在VB.net中如何將數(shù)據(jù)寫入txt文件、再?gòu)膖xt文件讀出?
軟糖來(lái)告訴你吧。
VB.net中讀寫文件主要使用System.IO命名空間。
① 使用 File.ReadAllText 讀取
Dim s As String = System.IO.File.ReadAllText("C:\a.txt")
② 使用 StreamReader 讀取,注意編碼格式和寫入的編碼保持一致。
Dim sr As StreamReader = New StreamReader("C:\a.txt", System.Text.Encoding.UTF8)
Dim s As String = sr.ReadToEnd()
sr.Close()
③ 使用 File.WriteAllText 寫入,會(huì)覆蓋同名的文件。
Dim 要寫的內(nèi)容 As String = ""
File.WriteAllText(文件路徑, 要寫的內(nèi)容, System.Text.Encoding.UTF8)
④ 使用 StreamWriter 寫入。
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter("C:\a.txt", False, System.Text.Encoding.UTF8)
sw.WriteLine(TextTB.Text)
sw.Close()
⑤ 使用 StreamWriter 追加寫入。
將上面代碼的第二個(gè)參數(shù)False改為True。
◆ 滿意請(qǐng)采納,謝謝 ◆
當(dāng)前題目:關(guān)于vb.net覆蓋txt的信息
文章鏈接:http://fisionsoft.com.cn/article/hcscje.html