2010-06-18 9 views
5

Dla javame.getResourceStream do pisania plików

Od getResourceAsStream() jest do odczytu plików, czy istnieje odpowiednik getResourceAsStream() dla strumienia wyjściowego/plików do zapisu?

Uwaga: plik znajduje się wewnątrz folderów projektu i wkrótce zostanie spakowany do pliku jar.

+0

Już odpowiedziałem na to pytanie w http://stackoverflow.com/questions/3058435/how-to-write-to-an-film-file-inside-a-jar-file –

Odpowiedz

2

getResoureAsStream() zajmuje się zasobami. Zwracanie strumienia wyjściowego nie ma sensu, ponieważ oznacza to, że próbujesz nadpisać zasoby w locie.

Ponadto, w przypadku większości zasobów znajdujących się w lokalizacji JAR lub zdalnej, nie można do niej pisać.

+1

Co chcę zrobić, to zastąpić plik wewnątrz słoika. czy to możliwe? – cancelledout

+1

Nie. Nie można zastąpić pliku wewnątrz słoika. Aby zastąpić cokolwiek, musisz utworzyć nowy słoik. –

+1

Możesz zapisać plik w db, jeśli nie chcesz dynamicznie ładować obrazów do swojej aplikacji – Vincent

0

Tak. Utwórz File -Object, a następnie wywołaj getOutputStream na tym obiekcie pliku.

+0

Klasa FileConnection nie rozpoznaje ścieżka do pliku wewnątrz folderu lub słoika projektu. = X – cancelledout

1

Nie ma sensu, aby to mieć.
Co otrzyma getResourceAsStream, ponieważ zasób jeszcze nie istnieje?

Ponadto getResourceAsStream jest zwykle używany do uzyskiwania dostępu do pliku w JAR lub WAR, nie można tam pisać.

Metoda getResourceAsStream służy zwykle do ładowania plików konfiguracji i właściwości.
Here is a good tutorial (trochę przestarzały) o tym, jak go używać.

+0

Dziękuję za odpowiedź. Właśnie dlatego zastanawiam się, czy istnieje odpowiednik tego ... coś jak setResourceAsStream? IDK. Muszę napisać do pliku xml wewnątrz słoika. – cancelledout

+0

@cancelledout Nie można tego zrobić - spójrz na wiele wpisów, a zobaczysz, że nie możesz modyfikować ani usuwać słoika, chyba że utworzysz nowy i zastąpisz stary. Musisz wybrać inny cel. Już odpowiedziałem na to pytanie w http://stackoverflow.com/questions/3058435/how-to-write-to-an-film-file-inside-a-jar-file –

0

FileOutputStream jest również dostępny dla java ja.

FileOutputStream out = new FileOutputStream("output.txt"); 
out.write(...); 
+0

Wypróbuję to tak szybko, jak tylko Wracam do biura. Dzięki za odpowiedź. : D – cancelledout

Powiązane problemy