大家遇到过文本文件处理方面的问题吗?我平时工作也常常遇见类似VB.NET文件处理的问题,现在就把我的一点经验给大家分享一下吧!
VB.NET文件处理代码:
- '打开csv文件
- PrivateSubbtnFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnFile.Click
- DimOpenFileAsOpenFileDialog=NewOpenFileDialog
- OpenFile.Filter="csvFiles(*.csv)|*.xls|AllFiles(*.*)|*.*"
- IfOpenFile.ShowDialog()=DialogResult.OKThen
- txtFile.Text=OpenFile.FileName
- Else
- ExitSub
- EndIf
- EndSub
- '写文件
- PrivateSuboutfile()
- DimSaveFileAsSaveFileDialog=NewSaveFileDialog
- SaveFile.Filter="文本文件(*.txt)|*.txt|AllFiles(*.*)|*.*"
- IfSaveFile.ShowDialog()=DialogResult.OKThen
- 'txtdt.Text=SaveFile.FileName
- DimobjWriterAsNewIO.StreamWriter(SaveFile.FileName,True,System.Text.Encoding.Default)
- objWriter.WriteLine("ANSI")
- objWriter.WriteLine("中文")
- objWriter.Close()
- Else
- ExitSub
- EndIf
- EndSub
- 'ANSI文本处理
- PrivateSubsplit1()
- 'DimobjFileAsSystem.IO.File
- DimobjReaderAsNewIO.StreamReader("D:\MySystem\Desktop\Book1.csv",System.Text.Encoding.Default)
- DimsLineAsString=""
- DimarrTextAsNewArrayList
- Do
- sLine=objReader.ReadLine()
- IfNotsLineIsNothingThen
- arrText.Add(sLine)
- EndIf
- LoopUntilsLineIsNothing
- objReader.Close()
- DimDSAsNewDataSet
- DS.Tables.Add("tab1")
- DS.Tables("tab1").Columns.Add("ID")
- DS.Tables("tab1").Columns.Add("par")
- DS.Tables("tab1").Columns.Add("no")
- DS.Tables("tab1").Columns.Add("name")
- DimfenAsString=",;"
- Dimfen1AsChar()=fen.ToCharArray()
- DimsplitAsString()=Nothing
- DimiAsInteger
- 'ForEachsLineInarrText
- Fori=0ToarrText.Count-1
- sLine=arrText(i)&","
- split=sLine.Split(fen1)
- DimdrAsDataRow=DS.Tables("tab1").NewRow
- dr("ID")=split(0).ToString
- dr("par")=split(1).ToString
- dr("no")=split(2).ToString
- dr("name")=IIf(split(3)="","0",split(3).ToString)
- DS.Tables("tab1").Rows.Add(dr)
- Next
- DataGrid1.DataSource=DS.Tables("tab1")
- EndSub
- '处理数据
- PrivateSubbtnDeal_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnDeal.Click
- IfDS.Tables.Contains("tab2")=FalseThen
- DS.Tables.Add("tab2")
- DS.Tables("tab2").Columns.Add("part")
- DS.Tables("tab2").Columns.Add("pp0")
- DS.Tables("tab2").Columns.Add("pp1")
- DS.Tables("tab2").Columns.Add("yanglao")
- DS.Tables("tab2").Columns.Add("yibao")
- DS.Tables("tab2").Columns.Add("gongji")
- DS.Tables("tab2").Columns.Add("shiye")
- DS.Tables("tab2").Columns.Add("sum0")
- EndIf
- DimdvAsDataView=DS.Tables("tab1").DefaultView
- dv.Sort="part"
- ProgressBar1.Show()
- ProgressBar1.Value=0
- ProgressBar1.Maximum=dv.Count-1
- DimiAsInteger
- Dimdr,dr0AsDataRow
- Fori=0Todv.Count-1
- ProgressBar1.Value=i
- Ifi=0Then
- dr=DS.Tables("tab2").NewRow
- dr("part")=dv(i).Row("part")
- dr("pp0")=dv(i).Row("pp1")
- dr("yanglao")=dv(i).Row("yanglao")
- dr("yibao")=dv(i).Row("yibao")
- dr("gongji")=dv(i).Row("gongji")
- dr("shiye")=dv(i).Row("shiye")
- dr("sum0")=dv(i).Row("sum0")
- dr0=DS.Tables("tab2").NewRow
- dr0("part")="合计"
- dr0("pp0")=0
- dr0("yanglao")=0
- dr0("yibao")=0
- dr0("gongji")=0
- dr0("shiye")=0
- dr0("sum0")=0
- Else
- Ifdr("part")<>dv(i).Row("part")Then
- dr0("pp0")+=dr("pp0")
- dr0("yanglao")+=dr("yanglao")
- dr0("yibao")+=dr("yibao")
- dr0("gongji")+=dr("gongji")
- dr0("shiye")+=dr("shiye")
- dr0("sum0")+=dr("sum0")
- DS.Tables("tab2").Rows.Add(dr)
- dr=DS.Tables("tab2").NewRow
- dr("part")=dv(i).Row("part")
- dr("pp0")=dv(i).Row("pp1")
- dr("yanglao")=dv(i).Row("yanglao")
- dr("yibao")=dv(i).Row("yibao")
- dr("gongji")=dv(i).Row("gongji")
- dr("shiye")=dv(i).Row("shiye")
- dr("sum0")=dv(i).Row("sum0")
- Else
- dr("pp0")+=dv(i).Row("pp1")
- dr("yanglao")+=dv(i).Row("yanglao")
- dr("yibao")+=dv(i).Row("yibao")
- dr("gongji")+=dv(i).Row("gongji")
- dr("shiye")+=dv(i).Row("shiye")
- dr("sum0")+=dv(i).Row("sum0")
- EndIf
- EndIf
- Application.DoEvents()
- Next
- dr0("pp0")+=dr("pp0")
- dr0("yanglao")+=dr("yanglao")
- dr0("yibao")+=dr("yibao")
- dr0("gongji")+=dr("gongji")
- dr0("shiye")+=dr("shiye")
- dr0("sum0")+=dr("sum0")
- DS.Tables("tab2").Rows.Add(dr)
- DS.Tables("tab2").Rows.Add(dr0)
- ProgressBar1.Hide()
- grdMain.CaptionText="结果数据"
- grdMain.DataSource=DS.Tables("tab2")
- grdStyles("tab2")
- MsgBox("数据已处理")
- EndSub
以上就是VB.NET文件处理问题的解决方案。
【编辑推荐】