Какое расширение имеют файлы Java

Обновлено: 21.11.2024

Мне нужен способ разбить эти входные данные, в частности, на .txt для расширения. Есть ли встроенный способ сделать это в Java? Я бы не хотел писать свой собственный синтаксический анализатор.

Никогда не знаешь, когда появится новая платформа, в которой расширения будут разделены запятой. Теперь вам нужно написать зависящий от платформы код. Платформы Java должны быть более дальновидными и иметь API для получения расширений, где они пишут код, зависящий от платформы, а вы, как пользователь API, просто говорите, получите расширение.

@EricDuminil "Обязательно не применяйте методы, которые возвращают "txt" из "filename.txt"" . Попробуйте path.substring(path.lastIndexOf(".")); . И да.. Они точно ничего не дублируют просто так.

@VelocityPulse Это именно меня беспокоит. Поскольку не существует стандартного способа получить расширение файла, вы получаете десятки полунеправильных ответов и несколько отличающихся реализаций. В вашем коде используются 2 метода (мне бы хотелось иметь один единственный явный метод), он возвращает ".txt" из "filename.txt" , что может быть нежелательным результатом, и худшим из все, он завершается с ошибкой StringIndexOutOfBoundsException вместо того, чтобы возвращать пустую строку, если нет расширения.

31 Ответ 31

Вот пример того, как его использовать (вы можете указать либо полный путь, либо просто имя файла):

Gradle Groovy DSL

Gradle Kotlin DSL

@zhelon .gz означает сжатый файл gnu, а .tar означает (t)ape (ar)chive. Таким образом, .tar.gz — это tar-файл внутри сжатого gnu файла с расширением .gz.

@guru_001 Нет, конечно, это не так, я просто упомянул, что вы можете вызывать его как с полным путем, так и просто с именем файла.

Действительно ли для этого нужен «парсер»?

Предположим, что вы имеете дело с простыми именами файлов в стиле Windows, а не с архивом.tar.gz .

Кстати, в случае, если у каталога может быть '.', а у самого имени файла нет (например, /path/to.a/file ), вы можете сделать

Как вы сказали, есть ряд вещей, о которых стоит подумать, помимо простого использования наивного lastIndexOf("."). Я предполагаю, что у Apache Commons есть для этого метод, учитывающий все маленькие каверзные потенциальные проблемы.

независимо от того, насколько простым является любой фрагмент кода. вам все еще нужно обновить его/поддерживать/протестировать/сделать доступным как удобную зависимость. гораздо проще, если бы все это уже делала библиотека

Следует отметить, что это возвращает '.' также, поэтому расширение вашего файла будет «.txt», а не «txt» в некоторых других ответах

Лучший ответ и @NickEntin Лучший комментарий. Чтобы удалить точку "." из расширения файла можно закодировать как int lastIndexOf = name.lastIndexOf(".") + 1;

@Iman Akbari: getName() возвращает только само имя файла, которое в вашем примере будет "httpconf".

Если вы используете библиотеку Guava, вы можете прибегнуть к служебному классу Files. У него есть специальный метод getFileExtension(). Например:

Кроме того, вы также можете получить имя файла с помощью аналогичной функции getNameWithoutExtension():

Правда? Это отличная библиотека, полная утилит. Большинство из них станут частью Java8, как и замечательная функция Guava.

К сожалению, не все люди могут решить, какие библиотеки использовать. По крайней мере, у нас есть Apache Commons, пусть и старый.

если вы видите исходный код getFileExtension, на самом деле это просто int dotIndex = fileName.lastIndexOf('.'); вернуть (dotIndex == -1)? "" : fileName.substring(dotIndex + 1) так что ничего страшного. также обратите внимание, что файлы по какой-то причине помечены как «нестабильные».

@Al-Mothafar многие классы помечены как нестабильные (см. сборщики мультикарт), я тоже не понимаю почему: выпущено несколько релизов, но там ничего не изменилось.

Если на Android, вы можете использовать это:

Это проверенный метод

Чтобы учесть имена файлов без символов перед точкой, вы должны использовать это небольшое изменение принятого ответа:

если вам нужен только "txt", сделайте path.lastIndexOf(".") + 1

Если вы используете фреймворк Spring в своем проекте, вы можете использовать StringUtils

Мое грязное и, возможно, самое маленькое использование String.replaceAll:

Обратите внимание, что сначала * является жадным, поэтому он будет захватывать максимально возможное количество символов, а затем останется только последняя точка и расширение файла.

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

Как видно из всех других ответов, адекватной «встроенной» функции не существует. Это безопасный и простой метод.

Вот еще одна строчка для Java 8.

Это работает следующим образом:

  1. Разбить строку на массив строк с помощью "."
  2. Преобразовать массив в поток
  3. Используйте сокращение, чтобы получить последний элемент потока, то есть расширение файла.

Как насчет (используя Java 1.5 RegEx):

Если вы планируете использовать Apache commons-io и просто хотите проверить расширение файла, а затем выполнить какую-либо операцию, вы можете использовать это, вот фрагмент кода:

Как насчет JFileChooser? Это не так просто, так как вам нужно будет проанализировать его окончательный вывод.

который является типом MIME.

Хорошо. Я забыл, что вы не хотите знать его MIME-тип.

Вот метод, который правильно обрабатывает .tar.gz, даже в пути с точками в именах каталогов:

afterLastSlash создан для ускорения поиска afterLastBackslash, поскольку ему не нужно искать всю строку, если в ней есть косые черты.

Действительно "gz" является правильным расширением для возврата. Если вызывающий код также может обрабатывать «tar», то он должен дополнительно проверять, вне функции getExtension. Если имя файла пользователя «мой почтовый индекс. не трогайте.tar.gz», этот метод вернет неправильное расширение.

при запуске расширение должно содержать ".txt".

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

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

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

Как насчет версии REGEX:

или с нулевым расширением:

результат для *nix:
путь: /root/docs/
имя: readme
расширение: txt

для Windows, parsePath("c:\windows\readme.txt"):
путь: c:\windows\
имя: readme
Расширение: txt

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

(1) Вы должны использовать lastIndexOf, чтобы имена файлов, такие как john.smith.report.doc, обрабатывались правильно. (2) Вы должны правильно обрабатывать случаи, когда нет расширения. Этот метод возвращает ABC/XYZ для пути типа abc/xyz, что не имеет никакого смысла. Было бы разумнее вернуть "" или null . (3) Разделитель файлов не всегда / .

Получение расширения файла из имени файла

* Вывод будет одинаковым независимо от машины, на которой выполняется код. * * @param filename имя файла, для которого необходимо получить расширение. * @вернуть расширение файла или пустую строку, если таковой не существует. */ public static String getExtension(String filename) < if (filename == null) < return null; >int index = indexOfExtension(имя файла); если (индекс == -1) < вернуть ""; >else < return filename.substring(index + 1); >> /** * Возвращает индекс последнего символа-разделителя расширения, который является точкой. *

* Этот метод также проверяет отсутствие разделителя каталогов после последней точки. * Для этого он использует, который будет * обрабатывать файл в формате Unix или Windows. *

* Вывод будет одинаковым независимо от машины, на которой выполняется код. * * @param filename имя файла, в котором нужно найти последний разделитель пути, null возвращает -1 * @return индекс последнего символа-разделителя или -1, если * такого символа нет */ public static int indexOfExtension(String filename) < если (имя файла == ноль) < вернуть -1; >int extensionPos = имя файла.lastIndexOf(EXTENSION_SEPARATOR); int lastSeparator = indexOfLastSeparator(имя файла); return (lastSeparator > extensionPos ? -1 : extensionPos); > /** * Возвращает индекс последнего символа-разделителя каталогов. *

* Этот метод работает с файлами в формате Unix или Windows. * Возвращается позиция последней прямой или обратной косой черты. *

Тим Фишер имеет более чем 30-летний опыт работы в сфере технологий. Он пишет о технологиях более двух десятилетий и является вице-президентом и генеральным директором Lifewire.

Файл с расширением JAVA (или реже с суффиксом .JAV) представляет собой файл исходного кода Java, написанный на языке программирования Java. Это формат простого текстового файла, который полностью читается в текстовом редакторе и необходим для всего процесса создания Java-приложений.

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

Это файл CLASS, который затем превращается в исполняемое приложение Java с расширением файла JAR. Эти архивные файлы Java упрощают хранение и распространение файлов CLASS и других ресурсов приложений Java, таких как изображения и звуки.

Как открыть файлы JAVA

Вероятность того, что на вашем компьютере установлена ​​программа, которая открывает файл JAVA при двойном щелчке, невелика. В противном случае используйте одну из приведенных ниже программ, сначала открыв ее, а затем используя меню «Файл» или «Импорт» для поиска файла.

Текст в файле JAVA можно прочитать в любом текстовом редакторе, таком как Блокнот в Windows, TextEdit в macOS и т. д.

Однако файлы JAVA на самом деле полезны только тогда, когда они скомпилированы в файл CLASS с байт-кодом, что может сделать Java SDK. Данные в файле CLASS используются виртуальной машиной Oracle Java (JVM) после создания файла JAR.

Используйте следующую команду в командной строке, чтобы открыть файл JAVA в Java SDK, который создаст файл CLASS. Не забудьте, конечно, изменить текст в кавычках, чтобы он был путем к вашему файлу.

Эта команда работает, только если на вашем компьютере есть файл javac.exe, который поставляется вместе с установкой Java SDK. Этот файл хранится в папке bin каталога C:\Program Files\jdk(версия)\. Самый простой способ использовать эту команду — установить это местоположение в качестве переменной среды PATH.

Для редактирования файлов JAVA используйте программу, предназначенную для разработки приложений, например Eclipse или JCreator LE. Также могут быть полезны текстовые редакторы, такие как NetBeans и те, что указаны по ссылке выше.

Как преобразовать файл JAVA

Поскольку файл JAVA содержит исходный код приложения Java, его легко перенести в другие приложения или языки программирования, которые могут понять код или преобразовать его во что-то другое.

Например, вы можете преобразовать файл JAVA в файл Kotlin с помощью IntelliJ IDEA. Либо используйте пункт меню «Код», чтобы найти параметр «Преобразовать файл Java в файл Kotlin», либо откройте меню «Справка» > «Найти действие» и начните вводить действие, которое хотите выполнить, например, преобразовать файл java. Он должен сохранить файл JAVA в файл KT.

Используйте упомянутую выше команду javac для преобразования JAVA в CLASS. Если вы не можете вызвать инструмент из командной строки, один трюк CMD, который вы можете сделать, — это получить доступ к местоположению EXE-файла, как описано выше, а затем перетащить файл javac.exe непосредственно в командную строку, чтобы выполнить команду.< /p>

После того, как файл находится в формате CLASS, вы можете преобразовать JAVA в JAR с помощью команды jar, как описано в этом руководстве по Java от Oracle. Он создаст файл JAR, используя файл CLASS.

JSmooth и JexePack — это два инструмента, которые можно использовать для преобразования JAVA в EXE, чтобы приложение могло работать как обычный исполняемый файл Windows.

Все еще не можете открыть?

Первое, что вы должны сделать, если файл не открывается или не конвертируется с помощью описанных выше инструментов, – это еще раз проверить расширение. Возможно, вы на самом деле имеете дело не с файлом JAVA, а с файлом, в котором используется похожее по написанию расширение файла.

Например, суффикс AVA немного похож на JAVA, но используется для файлов электронных книг AvaaBook. Если вы имеете дело с файлом AVA, он не откроется с помощью вышеуказанных программ, а будет работать только с персидским программным обеспечением AvaaPlayer.

Файлы JA похожи, но на самом деле это файлы Jet Archive, в которых хранятся сжатые игровые файлы. Другой — файлы JVS, файлы автонастройки прокси-сервера JavaScript, которые веб-браузеры используют для настройки прокси-сервера.

Вы можете прочитать файл, например файл CSV, в Java с помощью метода класса BufferedReader. Посетите документацию Oracle, чтобы узнать больше о классе BufferedReader и других методах чтения файлов, таких как FileReader, InputStreamReader и Files.newBufferedReader().

Есть несколько вариантов создания файлов в Java. Одним из методов является метод createNewFile() для открытия пустого файла. Изучите руководство Oracle по созданию файлов в Java.

Файл класса Java – это файл, содержащий байт-код Java и имеющий расширение .class, который может выполняться JVM. Файл класса Java создается компилятором Java из файлов .java в результате успешной компиляции. Поскольку мы знаем, что один исходный файл языка программирования Java (или, можно сказать, файл .java) может содержать один класс или более одного класса. Таким образом, если файл .java содержит более одного класса, каждый класс будет скомпилирован в отдельные файлы классов.
Например: сохраните приведенный ниже код как Test.java в вашей системе.

Для компиляции:

  • Sample.class
  • Student.class
  • Тест.класс

Одна структура файла класса содержит атрибуты, описывающие файл класса.
Представление структуры файла класса

    magic_number: первые 4 байта файла класса называются magic_number.Это предопределенное значение, которое JVM использует для определения того, создан ли файл .class допустимым компилятором или нет. Предопределенное значение будет в шестнадцатеричной форме, то есть 0xCAFEBABE.
    Теперь давайте посмотрим, что произойдет, если JVM не найдет действительное магическое число. Предположим, у нас есть файл .java с именем Sample.java, как показано ниже, и следуем пошаговому процессу в вашей системе.

Шаг 1. Скомпилируйте с помощью javac Sample.java
Шаг 2. Теперь откройте файл Sample.class. Это будет выглядеть следующим образом.

Шаг 3. Теперь удалите хотя бы один символ из этого файла Sample.class с начала файла и сохраните его.
Шаг 4. Теперь попробуйте запустить это с помощью команды java Sample и увидеть волшебство, т.е. вы получите исключение во время выполнения (см. выделенный текст на изображении ниже):

Примечание. Это зависит от того, насколько вы удалили данные из файла .class.

Примечание. Файл .class, сгенерированный компилятором более ранней версии, может быть выполнен JVM старшей версии, но файл .class, сгенерированный компилятором более высокой версии, не может быть выполнен JVM более ранней версии. Если мы попытаемся выполнить, мы получим исключение времени выполнения.

Эта демонстрация предназначена для ОС Windows следующим образом:

Шаг 1. Откройте окно командной строки и попробуйте проверить версию компилятора Java и версию JVM, используя следующие команды соответственно (команды выделены на изображении)
Вывод для версии 1.8 будет следующим:
< бр />

Шаг 2: Теперь проверьте другую версию, которая может быть выше или ниже уже установленной. Эта ссылка для загрузки.
И установите ее на свой ПК или ноутбук и запишите адрес установки.
Шаг 3: Откройте второе окно командной строки и укажите путь к папке bin установленного jdk, установленного во время 2-го шага. И проверьте версию компилятора Java и версию JVM.

Шаг 4. Теперь в первой командной строке скомпилируйте любой действительный файл .java. Например: см. выше файл Sample.java. Скомпилируйте его как:

Шаг 5. Теперь во втором окне командной строки попробуйте запустить указанный выше файл класса скомпилированного кода и посмотрите, что произойдет. Существует исключение во время выполнения, которое я выделил на изображении ниже.

Файл класса Java – это файл (с расширением имени файла .class), содержащий байт-код Java, который может выполняться на виртуальной машине Java (JVM). Файл класса Java обычно создается компилятором Java из исходных файлов языка программирования Java ( .

Просто так, как узнать расширение файла?

В панели управления введите файл в текстовом поле панели управления поиском. Нажмите «Параметры проводника» в результатах поиска. В окне «Параметры проводника» перейдите на вкладку «Вид». Снимите флажок Скрывать расширения для известных типов файлов.

Кроме того, что такое файл исходного кода Java? Файл JAVA представляет собой файл исходного кода, написанный на языке программирования Java, который изначально был разработан Sun Microsystems, но теперь поддерживается Oracle. Файлы исходного кода JAVA скомпилированы в файлы . CLASS с помощью компилятора Java (команда javac).

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

  • .doc и .docx — файл Microsoft Word.
  • .odt — файл документа OpenOffice Writer.
  • .pdf — PDF-файл.
  • .rtf – форматированный текст.
  • .tex — файл документа LaTeX.
  • .txt — обычный текстовый файл.
  • .wks и .wps — файл Microsoft Works.
  • .wpd — документ WordPerfect.

Что такое расширение на моем компьютере?

Расширение файла, иногда называемое файловым суффиксом или расширением имени файла, представляет собой символ или группу символов после точки, которые составляют полное имя файла. Расширение файла помогает операционной системе, такой как Windows или macOS, определить, с какой программой на вашем компьютере связан файл.

Как найти неизвестный формат файла?

Перейдите на веб-сайт онлайн-идентификатора файлов TrID и нажмите кнопку «Выбрать файл» рядом с текстом «Выберите файл для анализа». Затем, как только вы выбрали свой файл, нажмите кнопку «Анализ!». кнопка. Через несколько секунд вы получите результаты.

Полный ответ -->

Полный ответ -->

Как мне получить расширение laravel?

Если у вас есть файловый объект из запроса, вы можете просто получить его с помощью функции laravel. $extension = $request->file->getClientOriginalExtension(); дд($расширение);

Полный ответ -->

Как проверить тип файла в Linux?

Чтобы определить тип файла в Linux, мы можем использовать команду file. Эта команда запускает три набора тестов: тест файловой системы, тест магического числа и языковой тест.Первый успешный тест приводит к печати типа файла. Например, если файл является текстовым, он будет распознан как текст ASCII.

Полный ответ -->

Сколько существует типов файлов?

  • JPEG (Объединенная группа экспертов по фотографии)
  • PNG (переносимая сетевая графика)
  • GIF (формат обмена графикой)
  • PDF (формат переносимых документов)
  • SVG (масштабируемая векторная графика)
  • MP4 (Группа экспертов по кинематографии)

Полный ответ -->

Что означает расширение файла?

Расширение файла — это идентификатор, используемый в качестве суффикса имени компьютерного файла в операционной системе, такой как Microsoft Windows. Его можно отнести к типу метаданных. Расширение файла помогает операционной системе понять характеристики файла и, в некоторой степени, его предполагаемое использование.

Полный ответ -->

Какие типы файлов существуют на компьютере?

Почти вся информация, хранящаяся на компьютере, должна быть в файле. Существует множество различных типов файлов: файлы данных, текстовые файлы, программные файлы, файлы каталогов и так далее. Различные типы файлов хранят различные типы информации. Например, в программных файлах хранятся программы, а в текстовых файлах хранится текст.

Полный ответ -->

Какого формата файл?

Формат файла — это стандартный способ кодирования информации для хранения в компьютерном файле. Он определяет, как биты используются для кодирования информации на цифровом носителе данных. Некоторые форматы файлов предназначены для очень специфических типов данных: файлы PNG, например, хранят растровые изображения с использованием сжатия данных без потерь.

Полный ответ -->

Какие существуют четыре распространенных типа файлов?

Четыре распространенных типа файлов: документы, рабочие листы, базы данных и файлы презентаций. Связность — это способность микрокомпьютера обмениваться информацией с другими компьютерами. Беспроводная связь с использованием мобильных устройств — это начало беспроводной революции.

Полный ответ -->

Почему у файлов есть расширение?

Расширение файла полезно двумя способами. Это поможет вам определить тип документа. Так, например, файл с расширением . Расширение файла также позволяет компьютеру автоматически запускать правильную программу при двойном щелчке имени файла.

Полный ответ -->

Где я могу найти исходный код Java?

Исходный код Java находится там. Это файл java/util/LinkedList. Джава . обновление: вы также можете посетить онлайн-репозиторий OpenJDK Source.

Полный ответ -->

Как называются файлы исходного кода Java?

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

Полный ответ -->

Как загрузить исходный код Java?

  1. Окна. В Windows посетите веб-сайт Oracle и загрузите JDK (не JRE).
  2. Ubuntu (*nix) В Linux, например Ubuntu, вы можете получить исходный код из OpenJDK.
  3. Mac OS X. В Mac OSX получите исходный код JDK от Apple Developer, а затем загрузите и установите пакет разработчика Java для OS X.

Полный ответ -->

Является ли Java открытым исходным кодом?

Java является открытым исходным кодом, поскольку у него есть версия, в которой вы можете загрузить исходный код компилятора. Когда мы говорим, что приложение имеет открытый исходный код, это означает, что у дистрибьютора есть исходный код приложения для общего доступа. У большинства людей неправильное представление о том, что «открытый исходный код» означает просто «свободное программное обеспечение».

Полный ответ -->

Как просмотреть файл .java?

  1. Нажмите файл правой кнопкой мыши и выберите "Открыть с помощью".
  2. В окне "Открыть с помощью" нажмите кнопку "Обзор", чтобы открыть окно проводника.
  3. Вам нужно найти исполняемый файл Java (файл java.exe) на жестком диске вашего компьютера.

Полный ответ -->

Что подразумевается под байт-кодом?

Байт-код — это программный код, скомпилированный из исходного кода в низкоуровневый код, предназначенный для интерпретатора программного обеспечения. Он может выполняться виртуальной машиной (например, JVM) или компилироваться в машинный код, который распознается процессором.

Полный ответ -->

Как выполняется программа Java?

В Java программы не компилируются в исполняемые файлы; они компилируются в байт-код (как обсуждалось ранее), который JVM (виртуальная машина Java) затем выполняет во время выполнения. Исходный код Java компилируется в байт-код, когда мы используем компилятор javac. Байт-код сохраняется на диске с расширением файла .

Читайте также: