Как читать из файла, который не имеет расширения в Java? - PullRequest
2 голосов
/ 21 февраля 2011

Таким образом, в основном говорят, что у меня есть файл, который просто называется настройками, однако он не имеет расширения, но содержит данные переименованного текстового файла. Как я могу загрузить это в метод file () в Java? простое использование каталога и файла заставляет Java думать, что это просто каталог, а не файл.

Спасибо

Ответы [ 4 ]

4 голосов
/ 21 февраля 2011

В Java и в Unix, и даже на уровне файловой системы в Windows, нет разницы в том, имеет ли файл расширение или нет.

Просто Windows Explorer и, возможно, его подвески в Linux, используют расширение, чтобы отобразить соответствующий значок для файла и выбрать приложение, с которого нужно запустить файл, если он выбран двойным щелчком или аналогичными способами. .

В файловой системе есть только типизированные узлы, и могут быть файловые узлы, такие как "peter" и "peter.txt", и могут быть узлы папок с именами "peter" и "peter.txt".

Итак, в заключение, в Java нет никакой разницы в обработке файлов в отношении расширения.

1 голос
/ 21 февраля 2011

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

File file = new File(filename);
System.out.println('\'' + filename + "'.isDirectory() is "+file.isDirectory());
System.out.println('\'' +filename + "'.isFile() is "+file.isFile());

Кстати: в Unix файл file. отличается от file, что отличается от FILE. AFAIK на Windows / MS-DOS они рассматриваются как то же самое.

1 голос
/ 21 февраля 2011

new File("settings") должно работать нормально.Java не обрабатывает файлы с расширением или без него по-разному.

0 голосов
/ 21 февраля 2011

Расширение не должно иметь значения.Можете ли вы опубликовать нам код, который вы используете?И сообщение об ошибке, пожалуйста (трассировка стека).

Что-то в этом духе должно помочь (взято из http://www.kodejava.org/examples/241.html)

//
// Create an instance of File for data file.
//
File file = new File("data");

try {
    //
    // Create a new Scanner object which will read the data 
    // from the file passed in. To check if there are more 
    // line to read from it we check by calling the 
    // scanner.hasNextLine() method. We then read line one 
    // by one till all line is read.
    //
    Scanner scanner = new Scanner(file);
    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        System.out.println(line);
    }
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...