如何从Java中没有扩展名的文件中读取?

时间:2011-02-21 12:17:45

标签: java programming-languages

所以基本上说我有一个简单称为设置的文件,但它没有扩展名,但包含重命名的文本文件的数据。 如何将其加载到java中的file()方法中? 简单地使用目录和文件似乎使java认为它只是一个目录而不是文件。

由于

4 个答案:

答案 0 :(得分:4)

在Java中,在unix上,甚至在Windows上的文件系统级别上,如果文件有扩展名,则没有区别。

只是Windows资源管理器,也许它在Linux上的吊坠,使用扩展程序显示文件的相应图标,并选择启动文件的应用程序,如果通过双击或类似方式选择它

在文件系统中只有类型化节点,可以有“peter”和“peter.txt”等文件节点,可以有名为“peter”和“peter.txt”的文件夹节点。

因此,总而言之,在Java中,关于扩展的文件处理确实没有区别。

答案 1 :(得分:1)

new File("settings")应该可以正常工作。 Java不会以不同方式处理带有或不带扩展名的文件。

答案 2 :(得分:1)

Java无法理解文件扩展名,也不会根据文件扩展名或缺少扩展名对文件进行任何不同的处理。如果Java认为File是一个目录,那么它就是一个目录。我怀疑这不是正在发生的事情。你能试试吗?

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

BTW:在Unix上,文件file.file不同,与FILE不同。在Windows / MS-DOS上的AFAIK它们被视为相同。

答案 3 :(得分:0)

扩展不应该有所作为。你能把你正在使用的代码发给我们吗?并且错误消息请(堆栈跟踪)。

沿着这些方向做的事情应该起作用(取自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();
}