用户选择带有打开文件对话框的文件后,如何处理此操作?例如,如果用户选择了.txt文件并打开了它,它如何从文件中获取数据?它如何返回用户找到该文件的路径?然后,它如何保存文件?
我知道有一个OpenFileDialog.OpenFile()方法,但我也很确定这不是我想要的。我也尝试过ToObject方法,但我可能会以某种方式搞砸了。
例如,是否有一种快速简便的方法来打开图像?
感谢您的帮助!
顺便说一下,这是在VB.net中。
答案 0 :(得分:4)
Dim dlg_open As New OpenFileDialog()
If (dlg_open.Show() <> DialogResult.OK) Then Return
'if a textfile, then
Dim content As String() = IO.File.ReadAllLines(dlg_open.FileName)
'if an image, then
Dim img As New Bitmap(dlg_open.FileName)
你应该在处理IO的所有操作周围放置Try ... Catch块,你将无法阻止所有异常。
答案 1 :(得分:3)
以下是一个很好的例子:https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/programming-and-development/?p=481。
这是一个微不足道的问题,谷歌可以在几秒钟内回答。
答案 2 :(得分:0)
您想要处理FileOk事件:
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim path As String = OpenFileDialog1.FileName
If fileIsBitmap Then
' say the file is a bitmap image '
Dim bmp As New Bitmap(path)
' rotate the image 90 degrees '
bmp.RotateFlip(RotateFlipType.Rotate90FlipNone)
' save the image '
bmp.Save(path)
ElseIf fileIsTextFile Then
' or say the file is a text file '
Dim fs As New IO.FileStream(path, IO.FileMode.Append)
Dim sr As New IO.StreamWriter(fs)
' write a new line at the end of the file '
sr.WriteLine("This is a new line.")
' close the FileStream (this saves the file) '
sr.Close()
fs.Close()
End If
End Sub