2016-05-10 2 views
5

В java, когда мы создаем файл, мы создаем файлы, используя имя расширения. Например:Какой тип файла создается при создании нового файла без расширения?

File file = new File("D:/light.txt"); 

Я хотел бы знать, какой тип формата файла мы получаем, когда мы создаем файл без типа расширения файла. Например:

File file = new File("D:/light"); 
+2

Файл без расширения. – Psytho

+0

Тип файла определяется его содержимым, а не его именем или расширением. – Kayaman

+0

Я голосую, чтобы закрыть этот вопрос как вне темы, потому что он не связан с программированием. – Kayaman

ответ

4

Этот ответ предполагает, что вы делаете больше, чем просто создаете объект File - что вы фактически создаете файл в файловой системе. (A File объект - это просто логическое представление записи в файловой системе, которая может или не может существовать.) Если вы действительно действительно, просто создаете объект File, прочитайте ответ EJP - в этот момент у вас есть в основном только получил имя. У этого нет «типа» или «формата».

Расширение является частью названия. Операционная система может попытаться использовать ее для отображения другого значка или запуска определенного приложения при двойном щелчке по значку или что-то еще, но это действительно просто часть имени.

Фундаментально, файл состоит из:

  • задаваемого имени при создании его
  • байт вы пишете в нем
  • метаданные, такие как контроль доступа

Если не вам намеренно добавляют метаданные, обычно они просто наследуются (разрешения по умолчанию и т. д.).

Вы можете записывать любые данные в любом файле - только потому, что файл имеет расширение .txt, не означает, что это определенно текстовый файл. Он мог иметь контент, который фактически Аудиофайлы в формате MP3, например. Независимо от того, использует ли ОС расширение файла или контент для определения того, что делать с файлом, зависит от ОС.

+0

Означает ли это, что если мы создадим .txt-файл и напишем в него информацию растрового изображения, это будет файл изображения, хотя расширение указывает, что это текст? –

+1

@ChitKhine: Да, точно. Попробуйте сами - переименуйте файл изображения в 'foo.txt' и откройте его в Блокноте ... вы увидите мусор, который действительно является данными изображения. –

+0

Хорошо. Пробовал, это точно так же, как вы говорите. Тем не менее, он открывается, если я открываю его с помощью краски, даже если это txt-файл. –

2

Какой тип файла создается, когда мы создаем новый файл без расширения?

Файл не создан, и существует только один тип File.

В java, когда мы создаем файл, мы создаем файлы, используя имя расширения.

Или нет.

Например: File file = new File("D:/light.txt");

Я хотел бы знать, какой тип формата файла мы получаем, когда мы создаем файл без типа расширения файла.

У вас нет. Вы не получаете никакого формата файла вообще, потому что вы не получаете файл: только объект File в памяти.

Например: File file = new File("D:/light");

Вы можете производить все примеры, которые вы хотите, но файл не создается, а не формат файла.

В любом случае Java не заботится о расширениях файлов. Возможно, ваша операционная система, но это совсем другая история.

+0

Означает ли это, что если я напишу текст в файл без ввода расширения, это будет текстовый файл? –

Смежные вопросы