VB.Net : How to have properties file like java properties file in VB.net?
I think that we can specify or import our properties that we wish to use in the project in the .vbproj file of our project.
Is that true ?
And.. if so, how will I use these in my VB source code... ?
I want to keep the table names, connection strings, etc in the properties file.
Any help is appreciated !!
You are thinking about the Project Settings files:
You create the settings under the project Properties and them access them as such
My.Settings.YourSetting = "thing"
If you're simply looking to store strings you can just use the resource file, and retrieve the string with Properties.Resources.Whatever.
This topic is an old one, but may be someone will find this answer useful. When I started to do things with VB.NET I missed java.util.Properties very strongly, so, I made simple class to read the properties file very similar to Java (I am really missing Java :/):
Imports System.IO
Namespace Util
Public Class Properties
Private m_Properties As New Hashtable
Public Sub New()
End Sub
Private Sub Add(ByVal key As String, ByVal value As String)
m_Properties.Add(key, value)
End Sub
Public Sub Load(ByRef sr As StreamReader)
Dim line As String
Dim key As String
Dim value As String
Do While sr.Peek <> -1
line = sr.ReadLine
If line = Nothing OrElse line.Length = 0 OrElse line.StartsWith("#") Then
Continue Do
End If
key = line.Split("=")(0)
value = line.Split("=")(1)
Add(key, value)
Loop
End Sub
Public Function GetProperty(ByVal key As String)
Return m_Properties.Item(key)
End Function
Public Function GetProperty(ByVal key As String, ByVal defValue As String) As String
Dim value As String = GetProperty(key)
If value = Nothing Then
value = defValue
End If
Return value
End Function
End Class
End Namespace
It can be used the same way as java.util.Properties
:
Imports Util
'some code
Public Shared Sub GetProps(ByVal f As String)
Dim props As New Properties()
Dim sr As New StreamReader(projFile)
props.Load(sr)
Dim someProp As String = props.GetProperty("propName")
Dim someProp2 As String = props.GetProperty("propName2", "defaultPropValue")
sr.Close()
End Sub
' some code