Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определение формата файла из его "тела" 
V
    Опции темы
korotin
Дата 3.10.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 1.9.2008

Репутация: нет
Всего: 1



Здравствуйте!

Подскажите пожалуйста, как определить формат файла. 
Столкнулся  с проблемой:
пользователь выбирает файл, причем имя выбранного файла я подставляю свое, но формат необходимо сохранить...пользователь может назвать файл "file.name", где file.name - имя файла, в котором не указан формат.
Как можно определить формат любого файла, причем не по его названию, а прочтя данные из самого файла???

Заранее спасибо!

Это сообщение отредактировал(а) korotin - 3.10.2009, 22:54
PM MAIL ICQ   Вверх
Данкинг
Дата 3.10.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Нечто подобное обсуждали в теме по билдеру.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
korotin
Дата 3.10.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 1.9.2008

Репутация: нет
Всего: 1



Цитата(Данкинг @  3.10.2009,  22:54 Найти цитируемый пост)
Нечто подобное обсуждали в теме по билдеру. 


ну не совсем, там определяется, файл текстовый  или нет, а мне надо формат(расширение), просто узнать  GIF, TXT, PNG, DOC, а может это архив, значит RAR, ZIP...т.е. передо мной не стоит задача определить картинка это или нет, текст это или нет.

А имеют ли файлы любого формата, какой нить стандартный заголовок из которого можно выцепить расширение этого файла.


PM MAIL ICQ   Вверх
Данкинг
Дата 3.10.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(korotin @  4.10.2009,  00:42 Найти цитируемый пост)
А имеют ли файлы любого формата, какой нить стандартный заголовок 

Конечно, имеют, можешь сам поизучать нужные тебе форматы.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
sergioK
Дата 4.10.2009, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(korotin @ 3.10.2009,  22:52)
Здравствуйте!

Подскажите пожалуйста, как определить формат файла. 
Столкнулся  с проблемой:
пользователь выбирает файл, причем имя выбранного файла я подставляю свое, но формат необходимо сохранить...пользователь может назвать файл "file.name", где file.name - имя файла, в котором не указан формат.
Как можно определить формат любого файла, причем не по его названию, а прочтя данные из самого файла???

Заранее спасибо!

Ну а событие когда юзер меняет файл на свое имя поймать нельзя ?, потом имя файда вы же где то даете , так может это имя файла вписать в сам файл, 
скажем в строку с номером 100 или в формате #@file name@# , ?а потом при чтении данных это имя и прочесть,  ?теперь еще вопрос был у вас файл 
.DOC а юзер поменял его на .txt и как вы узнаете что это был док ведь теперь ваш анализатор (допустим что вы его написали) вам выдаст что файл .txt
 а то что это раньше был дос никому уже неизвестно .
PM MAIL   Вверх
korotin
Дата 4.10.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 1.9.2008

Репутация: нет
Всего: 1



Цитата(sergioK @  4.10.2009,  08:59 Найти цитируемый пост)
Ну а событие когда юзер меняет файл на свое имя поймать нельзя ?, потом имя файда вы же где то даете , так может это имя файла вписать в сам файл, 
скажем в строку с номером 100 или в формате #@file name@# , ?а потом при чтении данных это имя и прочесть,  ?теперь еще вопрос был у вас файл 
.DOC а юзер поменял его на .txt и как вы узнаете что это был док ведь теперь ваш анализатор (допустим что вы его написали) вам выдаст что файл .txt
 а то что это раньше был дос никому уже неизвестно . 



Пользователь загружает файл со своего компа на сервер, что он там с ним делает я узнать не могу!!!! Зачем мне Ваши вопросы был ДОК стал ТХТ, у меня у самого такие же вопросы возникают...ПОЭТОМУ Я РЕШИЛ СПРОСИТЬ МОЖЕТ ЕСТЬ КАКАЯ НИТЬ БИБЛИОТЕКА ДЛЯ ОПРЕДЕЛЕНИЯ РАСШИРЕНИЯ ФАЙЛА ПО ТЕЛУ ЭТОГО ФАЙЛА?????????????

Ну а если нет, то придется написать класс только для основных форматов, которые мне нужны, причем для каждого формата есть символы инициализации(почти для каждого), ну вот по ним и придется определять((((


PM MAIL ICQ   Вверх
sergioK
Дата 4.10.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(korotin @ 4.10.2009,  13:16)
Цитата(sergioK @  4.10.2009,  08:59 Найти цитируемый пост)
Ну а событие когда юзер меняет файл на свое имя поймать нельзя ?, потом имя файда вы же где то даете , так может это имя файла вписать в сам файл, 
скажем в строку с номером 100 или в формате #@file name@# , ?а потом при чтении данных это имя и прочесть,  ?теперь еще вопрос был у вас файл 
.DOC а юзер поменял его на .txt и как вы узнаете что это был док ведь теперь ваш анализатор (допустим что вы его написали) вам выдаст что файл .txt
 а то что это раньше был дос никому уже неизвестно . 



Пользователь загружает файл со своего компа на сервер, что он там с ним делает я узнать не могу!!!! Зачем мне Ваши вопросы был ДОК стал ТХТ, у меня у самого такие же вопросы возникают...ПОЭТОМУ Я РЕШИЛ СПРОСИТЬ МОЖЕТ ЕСТЬ КАКАЯ НИТЬ БИБЛИОТЕКА ДЛЯ ОПРЕДЕЛЕНИЯ РАСШИРЕНИЯ ФАЙЛА ПО ТЕЛУ ЭТОГО ФАЙЛА?????????????

Ну а если нет, то придется написать класс только для основных форматов, которые мне нужны, причем для каждого формата есть символы инициализации(почти для каждого), ну вот по ним и придется определять((((

дак эти символы прпадают когда юзер переименовывает файл ,т,е повторюсь был файл НТМL а юзер его поменял на dос ,вы в своей библиотеке получите 
что файл есть Dос , а хотели бы получить что он на самом деле HТml - но этой информации уже нигде нет , 

потому что мета дата создаеться по расширению - это делает операционная система, по крайне мере виндус
файла, поменял его - поменялась мета дата,  вам же нужно чтобы кто-то запомнил старую мета дату ,т,е, расширение, т,е, получаеться что ваша библиотека вам 
ничего не даст,  может я чего то не понял, но то что вы хотите решения не имеет ,  сорри что огорчил  smile 
PM MAIL   Вверх
olexande
Дата 5.10.2009, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 25.11.2004
Где: Киев

Репутация: нет
Всего: нет



"тип файла" в теле файла зашит только в некоторых "типах" файлов ...
Если нужно разбирать (определять) тип файла по телу самого файла, а не по расширению, то и соотв. нужно на каждый интересующий формат файла исследовать его структуру и искать его "родные отпечатки".

У безопасников есть аналогия - fingerprint - "отпечатки" ОС - по заголовкам яда пакетов tcp/ip можно в некоторых случаях определить что за ОС и ПО стоит на удалённой системе ... 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0548 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.