txt - read data from file java




我應該如何將文件加載到我的Java應用程序中? (4)

我應該如何將文件加載到我的Java應用程序中?



簡短的回答

使用以下兩種方法之一:

例如:

InputStream inputStream = YourClass.class.getResourceAsStream("image.jpg");

-

答案很長

通常,人們不希望使用絕對路徑加載文件。 例如,如果您可以幫助它,請不要這樣做:

File file = new File("C:\\Users\\Joe\\image.jpg");

由於至少兩個原因,不建議使用此技術。 首先,它創建了對特定操作系統的依賴,這阻止了應用程序輕鬆移動到另一個操作系統。 Java的主要優點之一是能夠在許多不同平台上運行相同的字節碼。 使用這樣的絕對路徑會使代碼的可移植性降低。

其次,根據文件的相對位置,此技術可能會創建外部依賴關係並限制應用程序的移動性。 如果文件存在於應用程序的當前目錄之外,則會創建外部依賴關係,並且必須知道依賴關係才能將應用程序移動到另一台計算機(容易出錯)。

而是使用Class類中的getResource()方法。 這使應用程序更加便攜。 它可以移動到不同的平台,機器或目錄,並仍然可以正常運行。



public byte[] loadBinaryFile (String name) {
    try {

        DataInputStream dis = new DataInputStream(new FileInputStream(name));
        byte[] theBytes = new byte[dis.available()];
        dis.read(theBytes, 0, dis.available());
        dis.close();
        return theBytes;
    } catch (IOException ex) {
    }
    return null;
} // ()




loading