Вопрос:

Имя текстового файла StreamWriter должно включать часы, минуты и секунды

vb.net

60 просмотра

2 ответа

0 Репутация автора

Запустите следующий код и убедитесь, что на рабочем столе есть текстовый файл с именем MyLogFile 08.04.2017

    Dim Log As System.IO.StreamWriter
    Log = My.Computer.FileSystem.OpenTextFileWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\MyLogFile " & System.DateTime.Now.Date.ToString("dd/MM/yyyy") & ".txt", False)
    Log.WriteLine("Hello")
    Log.Close()

Я хотел изменить имя файла с MyLogFile 08.04.2017на, MyLogFile 08.04.2017 07:50:59но это невозможно, потому что :это не разрешено.

Теперь я хочу изменить имя файла MyLogFile 08.04.2017на MyLogFile 08.04.2017 07.50.59спасибо вашей поддержке.

Автор: user7747311 Источник Размещён: 08.04.2017 05:59

Ответы (2)


2 плюса

27724 Репутация автора

Я настоятельно рекомендую, чтобы при включении даты и времени в имена файлов и папок вы переходили от наиболее значимых к наименее значимым. Причина в том, что тогда алфавитный и хронологический порядок будет совпадать. Лично я вообще не использую разделители, так что это будет:

Log = My.Computer.FileSystem.OpenTextFileWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                                                             String.Format("MyLogFile.{0:yyyyMMddHHmmss}.txt",
                                                                           Date.Now),
                                                False)

Если вы действительно хотите сделать это по-своему, то это будет:

Log = My.Computer.FileSystem.OpenTextFileWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                                                             String.Format("MyLogFile {0:dd.MM.yyyy HH.mm.ss}.txt",
                                                                           Date.Now),
                                                False)

Вы просто изменяете спецификатор формата по мере необходимости.

Автор: jmcilhinney Размещён: 08.04.2017 06:37

0 плюса

25647 Репутация автора

Решение

Вы могли бы сделать:

Dim Folder As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Dim FileName As String = "MyLogFile " & DateTime.Now.ToString("dd.MM.yyyy HH.mm.ss") & ".txt"
Dim Log As System.IO.StreamWriter
Log = My.Computer.FileSystem.OpenTextFileWriter(System.IO.Path.Combine(Folder, FileName), False)
Log.WriteLine("Hello")
Log.Close()
Автор: Idle_Mind Размещён: 08.04.2017 06:40
Вопросы из категории :
32x32