Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z usunięciem pliku po sprawdzeniu hashu md5


Rekomendowane odpowiedzi

Opublikowano

Witam, mam problem jak w tytule gdy sprawdza hash to ma usunąć nieprawidłowy plik i ściągnąć odpowiedni wtedy wyskakuje: plik jest używany przez inny proces. Mam to w filestreamie. Myślę by zakończyć filestreama,a le może mi ktoś pomorze.

Opublikowano

Tak, zanim usuniesz plik musisz zamknąć stream - to chyba logiczne.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

Wrzuć kod.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano
           If My.Computer.FileSystem.FileExists("Dokumenty/plik.txt") Then

 

                Dim md5code As String

 

                Dim md5 As MD5CryptoServiceProvider = New MD5CryptoServiceProvider

                Dim f As FileStream = New FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)

                f = New FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)

                md5.ComputeHash(f)

 

                Dim hash As Byte() = md5.Hash

 

                md5code = ByteArrayToString(md5.Hash)

 

 

                If md5code = hash Then

                    Me.Close()

                    MessageBox.Show("Masz najnowszy plik.")

                Else

                    f.Close()


If My.Computer.FileSystem.FileExists(path) Then

                        My.Computer.FileSystem.DeleteFile(path)

                    End If


i dalej ściąganie jest

Opublikowano

Module Module1

 

Sub Main()

Dim sciezka = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\abc.txt"

 

Console.WriteLine(MD5(sciezka))

System.IO.File.Delete(sciezka)

Console.ReadKey()

End Sub

Function MD5(sciezka As String) As String

Using fs As New System.IO.FileStream(sciezka, System.IO.FileMode.OpenOrCreate)

Dim buffer = New System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(fs)

Dim sb As New System.Text.StringBuilder()

For Each hB As Byte In buffer

sb.Append(hB.ToString("X"))

Next

Return sb.ToString().Replace("-", "").ToLower()

End Using

End Function

 

End Module

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...