[JAVA] NetBeans tworzy plik wynikowy, build nie tworzy

public

            void saveAccounts() throws IOException

    {

        DataOutputStream binaryFile = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("accounts.thcdata")));

        for (Account i : accounts)

        {

            binaryFile.writeUTF(i.getAccountName());

            binaryFile.writeUTF(i.getAccountType().toString());

        }

        binaryFile.flush();

        binaryFile.close();

tutaj jeszcze klasa Account jak coś

//INFO ta klasa przechowuje tylko informacje o pojedynczym koncie

package main;


import accountfilemaker.fileHandler.AccountTypes;


public

        class Account

{

    public

            String getAccountName()

    {

        return accountName;

    }


    public

            AccountTypes getAccountType()

    {

        return accountType;

    }


    public

            Account(String accountName, AccountTypes accountType)

    {

        this.accountName = accountName;

        this.accountType = accountType;

    }

    private

            String accountName;

    private

            AccountTypes accountType;

}

chciałbym się dowiedzieć czemu występuję taka dziwna sytuacja, że

  • gdy odpalam swoją aplikację spod NetBeansa to plik jest tworzony

  • gdy odpalam jednak builda z folderu dist to nie tworzy się ten plik

czy jest na to jakieś wytłumaczenia

Dodane Cz cze 10, 2010 5:30 pm

sprawdzałem debuggerem i te wektory, czy też arraylisty, nie jest to takie ważne, zawierające odpowiednie zmienne są wypełnione czyli nie próbuję do pliku zapisać niczego… po prostu nie mam nawet pomysłu czemu jest jak jest ?

kornica , nazwij proszę temat konkretnie, bez zbędnych problemów w tytule. Inaczej wyciągnę konsekwencje. Przeczytaj ten temat.

viewtopic.php?f=16&t=394978

zapomniałęm już odpisać

generalnie powód jest tego taki, że jeśli podać punkt utworzenia pliku jako folder w którym aktualnie się znajdujemy sposobem

-podanie zwyczajnie nazwy pliku

DataInputStream cos = new(.....(new FileInputStream("plik.plik))));

lub

DataInputStream cos = new(.....(new FileInputStream("./plik.plik))));

zawsze pod systemem Linuksowym wynikiem tego, po odpaleniu builda będzie utworzenie pliku w folderze domowym użytkownika

na sztywno ustawiać tego się chyba nie da

nie znalazłem też uniwersalnego sposobu, niezależnego od OS, aby to działało :slight_smile:

trochę tutaj Java nie może podołać, ale liczę wciąż, że któryś z forumowiczów będzie miała jakąś ciekawą koncepcję, jak temu zaradzić

Uniwersalnym rozwiązaniem jest: zawsze podawać pełną ścieżkę.

a jak sugerujesz to zrobić i co rozumiesz przez pełną ścieżkę ?

bo dla mnie podanie pełnej ścieżki, to wpisanie na stałe w kod np.

/media/SD/prog/

, co nie zmienia faktu, że jak podałem coś takiego w kodzie to mi build utworzył grzecznie folder /media/SD/prog w folderze domowym i tam umieścił plik z wynikiem działania programu