Mikoratanakaki
Откуда берутся элементы?
Bogdan
Bogdan
меня бесит что win api через проводник создаёт файл с дебильным именем, а потом переименовывает
Andrii
Теюе же больше надо, вот и пищи, если есть вопросы и проблемы
Bogdan
из за этого и возникает проблема контроля за файлом
Andrii
Как вариант, какую-то свою виртуальную FS написать, и будешь ловить все изменения
Bogdan
Bogdan
самому контролировать win api и самому прописывать события и инвокать их
Иван
А зачем Win Api?
Есть же java.nio.file.Path - getLastModifiedTime метод
Bogdan
нет
Bogdan
это так не работает
Иван
В старой java.io.File - lastModified метод
Bogdan
ты достанешь последнюю дату если это событие
Bogdan
ты ведь никогда не знаешь когда сработает обработчик событий
Иван
Ааа понял, дело сложнее
Bogdan
у меня вся суть в том что есть ивенты они срабатывают если меняется файловая система и типо последнюю дату достать как 2 пальца об асфальт
Bogdan
а предыдущую так просто не достанешь ибо врядли можно сделать событие на событие
Bogdan
а делегирование не поможет
Bogdan
так же ещё палки в колеса ставит win api можно было бы хранить в коллекции но win api если ты создаешь через проводник сначало создаст newdocumentfile а потом если ты задашь ему имя то это уже будет переименование
Bogdan
и разве что костылем доставать
Bogdan
и проблема ещё в том что файл не 1, а их 10+
Bogdan
Bogdan
это надо лезть в WIN32 и Unsafe код
Andrii
это тяжко
Я делал давно, относительно просто
Andrii
https://github.com/bobvanderlinden/sharpfilesystem
Вот чисто на C#
Andrii
public interface IFileSystem : IDisposable
{
ICollection<FileSystemPath> GetEntities(FileSystemPath path);
bool Exists(FileSystemPath path);
Stream CreateFile(FileSystemPath path);
Stream OpenFile(FileSystemPath path, FileAccess access);
void CreateDirectory(FileSystemPath path);
void Delete(FileSystemPath path);
}
Andrii
Всего-то реализовать
Mikoratanakaki
Тогда надо отбирать нужные строки через регулярные выражения или через contains, можешь мне задачу в лс скинуть?
Шурок
Mikoratanakaki
Mikoratanakaki
Подождать пока все загрузится ждать не вариант судя по всему?
Bogdan
Всего-то реализовать
по сути это будет просто обертка для FS Windows просто с дополнительным функционалом?
Andrii
Это будет твоя система, которая замаунчена в какую-то заданую папку
Andrii
И ты будешь трекать каждый записанный байт туда
Bogdan
может на досуге когда-то сделаю но этому заданию не надо своя ФС
Andrii
Тогда твои вопросы из серии «Исхитрися мне добыть, то, чего не может быть». Или плац ломом заметать. Как-то так это выглядит.
Nick 🇺🇸
https://www.instagram.com/reel/CZ4M0lQDUOV/?utm_medium=copy_link
Тем временем Настя,которой лень
Bogdan
Bogdan
Bogdan
они могут быть в любой части файлового хранилища
Bogdan
программа умеет доставать их из любой задницы
Andrii
Знаешь сколько всяких разных хотелок может быть у пользователям...
Bogdan
это не моя хотелка, это ТЗ
Andrii
Bogdan
пользователь задает любую папку или файл какие захочет , оно отслеживается через встроенные события файловой системы но должно выводиться не только время последнего изменения но и время предыдущего
Bogdan
так в ТЗ написано
Bogdan
даже если файл ранее не отслеживался
Bogdan
оно должно откуда-то достать предыдущую дату
Bogdan
вот в этом вся проблема
Bogdan
я делал через костыли но я хранил только дату после первого изменения а до этого из файловой системы хрен достанешь
Andrii
https://velociraptor.velocidex.com/the-windows-usn-journal-f0c55c9010e
Andrii
Можешь сюда глянуть ещё. Все эти требования они для меня мало вяжутся с запросами конкретного пользователя
Алексей
Andrii
Bogdan
Bogdan
даты не должны совпадать
Bogdan
да current date просто не канает должно быть previous date и current date
Алексей
Bogdan
это как в гите только проблема в том что файлы исторически не хранятся
Bogdan
то-есть нет никаких бэкапов
Mikoratanakaki
While (scanner.hasnextline)
Можно использовать и строки всей странички записать в стрингбилдер, перевести в обычный стринг и искать нужные словам
Bogdan
а нет аналогия с гитом не годится
Bogdan
в гите в комитах бэкапы же , а в выводе только ласт апдейт
Иван
Может тебе гит прикрутить к своей программе и в нем делать авто коммиты, заодно изменения от него узнавать
Так ты уберешь зависимость от ОС
Алексей
Bogdan
Bogdan
нельзя использовать сторонние ресурсы
Иван
Так у него же код открытый
Bogdan
и?
Bogdan
это не делает его не сторонним ресурсом
Bogdan
короче ладно у меня есть идея одного костыля может проканает