2017-05-04 62 views
-4

我想让我的程序从Visual Basic上的文件读取,但它一直说文件不存在,我试过不同的文件路径和其他东西但我似乎无法得到它的工作。我想让我的VB程序从文件中读取

我的代码是:

Option Strict On 
Imports System.IO 

Public Class MOTform 
    Dim custfile As StreamReader 
    Dim strCustArray() As String 
    Dim strCustDetails As String 




Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    radMOTYes.Checked = True 
    If File.Exists("cust_db.txt") Then 
     ' Open the file. 
     custfile = File.OpenText("cust_db.txt") 
    Else 
     MessageBox.Show("cust_db.txt" & " does not exist.") 

    End If 
    strCustDetails = custfile.ReadLine() 
    strCustArray = Split(strCustDetails, ",") 
    Me.Text = strCustDetails 
    custfile.Close() 

End Sub 
+0

您是否在Visual Studio中运行此代码?请记住,在调试中,当前文件夹位于项目根BIN \ DEBUG(或x86变体)文件夹下 – Steve

+0

您应该指出'。 Fileexists'到完全合格的路径,以确保它在正确的文件夹中查找。 –

+0

是的,谢谢你的作品有反正你可以在这个文件夹以外的文件? –

回答

0

去你想从阅读,右键点击它的文件,单击属性,从位置复制路径并将其插入到代码

+0

即使文件位于文件夹之外,它仍然可以正常工作,但是您必须将代码中的路径更改为新的文件夹 – 2017-05-04 21:36:28

+0

我必须将其发送给我的讲师,以便文件路径与笔记本电脑上的文件路径不会不同? –

+0

好吧,您的教授将无法从文件中读取该文件,因为该文件可能不存在于他的计算机上。我猜你的讲师只会检查你的代码而不运行它,因为他应该知道他没有你所引用的文件。如果它对你有帮助,也一定要评价我的答案 – 2017-05-04 22:15:52

0

您的代码由于您没有任何类型的路径,因此希望该文件位于程序运行的相同文件夹中。当您部署最终的可执行文件时这很好,因为那里没有BIN \ DEBUG。
在VS中调试,而不是你需要有该文件在该文件夹出于同样的原因。您的调试exe文件运行在该文件夹中。您可以将txt文件添加到您的项目中,并将属性Copy to Output Directory更改为始终复制。

但是,将数据文件保存在程序运行的相同文件夹中并不是一个好习惯,特别是如果该文件不是只读的。
如果您将应用程序部署在某种保留文件夹(如C:\ program files)中,操作系统可能会阻止您的应用程序更改该文件。

我建议使用配置文件中添加的AppSettings键以指定您保留该文件的文件夹,然后读取键在运行时建立自己的路径

例如

<appSettings> 
    <add key="DataFolder" value="C:\programdata\myappdatafolder"/> 
</appSettings> 

,然后

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    radMOTYes.Checked = True 
    Dim fullFileName = Path.Combine(ConfigurationManager.AppSettings("DataFolder"), "cust_db.txt") 
    If File.Exists(fullFileName) Then 
     ' Open the file. 
     custfile = File.OpenText(fullFileName) 
    Else 
     MessageBox.Show(fullFileName & " does not exist.") 

    End If 

通过这种方式,您可以更改配置文件,让你的文件,其中最方便您的方案

相关问题