Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java, permission denied do /tmp/

Zdravim, nemohu prijit na to, proc mi java vyhazuje vyjimku pri zapisovani do /tmp/ na ubuntu.
Promenna 'p' obsahuje "/tmp/Statistics_05.01.2014.html";
Metoda:

    private File writeStatistics(String HTML) throws IOException{
        File file_html = new File(super.filename+".html");
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file_html),"UTF-8"));  //zde vyjimka
        bw.write(HTML);
        bw.flush();
        bw.close();
        return file_html;
    }

Vyjimka:

java.io.FileNotFoundException: /tmp/Statistics_05.01.2014.html (Permission denied)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
	at application.data.classes.output.html.HTMLOutputFormat.writeStatistics(HTMLOutputFormat.java:227)

Diky za pomoc.

Předmět Autor Datum
Nemáš tam právo zápisu.
Wikan 05.01.2014 22:49
Wikan
Do /tmp na linuxu ma pravo zapisu uplne kdokoliv a cokoliv. drwxrwxrwt 19 root root 3072 led 5 22:4…
freez2 05.01.2014 23:07
freez2
Ještě můžeš zkusit: file_html.setWriteable(true);
Wikan 05.01.2014 23:11
Wikan
Nezabralo...
freez2 05.01.2014 23:14
freez2
Nikde nevidim cestu k tomu souboru. Co je v super.filename?
MaSo 05.01.2014 23:20
MaSo
V tom je ulozen vystup z teto metody: private String getDefaultPathName(){ String path = System.get…
freez2 05.01.2014 23:22
freez2
Hmmm... Pokud chces v Jave zapisovat do temp souboru, mel bys pouzit: File temp = File.createTempF…
MaSo 05.01.2014 23:25
MaSo
Ahaa. Takze tento zpusob by to mel vyresit?
freez2 05.01.2014 23:27
freez2
Ako prvé by som skontroloval, či ten súbor "/tmp/Statistics_05.01.2014.html" už existuje.
los 05.01.2014 23:27
los
Ano jiz tam byl. Po smazani uz to jde. Ale je divne, ze ho neprepisoval. Nyni, kdyz se tam vytvori,…
freez2 05.01.2014 23:30
freez2
Niet za čo. Predtým to nefungovalo, pretože práva na ten predchádzajúci súbor mal niekto iný.
los 05.01.2014 23:31
los
Nekdo jiny? Kdyz zapisuji porad pod stejnym uzivatelem? Cim myslis "nekdo jiny"?
freez2 05.01.2014 23:33
freez2
Nemohl jsi mit ten svuj program spusteny 2x? :-)
MaSo 05.01.2014 23:34
MaSo
Nejsem si toho vedom, ale urcite se to mohlo stat.
freez2 05.01.2014 23:37
freez2
No, to si mal zisťovať predtým, než si ten súbor vymazal. A taká situácia sa ti môže zopakovať, tak…
los 05.01.2014 23:34
los
Tak priste :-) Diky za vysvetleni. poslední
freez2 05.01.2014 23:37
freez2

V tom je ulozen vystup z teto metody:

private String getDefaultPathName(){
   String path = System.getProperty("java.io.tmpdir") + File.separator;
   path += Translator.getString("default_name"); //dosadi "Statistics_"
   path += new SimpleDateFormat("dd.MM.yyyy").format(new Date());
   return path;
}

Zpět do poradny Odpovědět na původní otázku Nahoru