2014-02-06 176 views
0

我创建VALIDCCC.TXT,我需要写一些内容到这个文本文件,内容如下图所示如何将内容写入到文本文件在vb.net

内容:

00 A0 
00 A1 
00 A2 
10 A0 
10 A1 

我的代码为跟随:

filepath = filepath + "\" + strsubmenu + "\" 

If (Not System.IO.Directory.Exists(filepath)) Then 
    System.IO.Directory.CreateDirectory(filepath) 
End If 

filepath = filepath + "MATRIX\" 
If (Not System.IO.Directory.Exists(filepath)) Then 
    System.IO.Directory.CreateDirectory(filepath) 
End If 

filepath = filepath + "VALIDCCC.TXT" 
If (Not System.IO.Directory.Exists(filepath)) Then 
    File.Create(filepath) 
End If 

File.WriteAllText(filepath, String.Empty) 
Dim objWriter As New System.IO.StreamWriter(filepath, True) 

For Each Customeritem As ListItem In CustomerCodeDVListBox.Items 

    For Each CCCitem As ListItem In CCCListBox.Items 
     objWriter.WriteLine(Customeritem.ToString() + Space(4) + CCCitem.ToString()) 
    Next 
Next 

我有2个列表框组合这个列表框的选择值应该写入文本文件。 如果VALIDCCC.TXT存在我需要清除的内容或用新内容覆盖书写内容之前...

+0

有几十个与有关书面文本从vb.net文件,包括那些解释追加对截断答案的问题在这里。例如,从[开始](http://stackoverflow.com/q/5002529/62576)开始。 “StreamWriter”的第二个参数决定完成哪项工作,文档中明确说明了这一点。 –

+0

http://stackoverflow.com/questions/5002529/how-to-write-textbox-values-to-txt-file-with-vb-net当我实现相同的抛出错误:“进程无法访问文件因为它正在被另一个进程使用vb.net“ – Kapil

+0

这是因为你用'File.Create'创建了同一个文件。阅读你自己的代码。您需要使用'File'或'StreamWriter',但不能同时在同一个文件上执行这两个操作。 –

回答

0

这是工作......

filepath = filepath + "VALIDCCC.TXT" 
       Dim objWriter As StreamWriter 

       Dim sb As New StringBuilder 
       For Each Customeritem As ListItem In CustomerCodeDVListBox.Items 
        If Customeritem.Selected Then 
         For Each CCCitem As ListItem In CCCListBox.Items 
          If CCCitem.Selected Then 
           sb.Append(Customeritem.ToString() + Space(4) + CCCitem.ToString()) 
           sb.Append(Environment.NewLine) 
          End If 
         Next 
        End If 
       Next 

       If (Not System.IO.Directory.Exists(filepath)) Then 
        objWriter = File.CreateText(filepath) 
        objWriter.WriteLine(sb.ToString()) 
        objWriter.Close() 
       End If 
-1

看看这有助于:

filepath = filepath + "\" + strsubmenu + "\MATRIX\VALIDCCC.TXT" 
Dim DirPath As String = Path.GetDirectoryName(filepath) 
If Not Directory.Exists(dirpath) Then 
    Directory.CreateDirectory(dirpath) 
End If 
Dim objWriter As New System.IO.StreamWriter(filepath) 

For Each Customeritem As ListItem In CustomerCodeDVListBox.Items 

    For Each CCCitem As ListItem In CCCListBox.Items 
     objWriter.WriteLine(Customeritem.ToString() + Space(4) + CCCitem.ToString()) 
    Next 
Next 

这将创建任何文件夹是必要和覆盖或创建根据需要输入文本文件。

+0

对不起。不工作 – Kapil

+0

它怎么样不起作用? – tinstaafl