Check read/write permission for file

123456789

Aktives Mitglied
Hallo,

ich möchte dem User die Location für das LogFile angeben lassen. Befor seine Angaben übernommen werden, soll geprüft werden ob der Benutzer überhaupt die Lese- bzw. Schreibberechtigung in diesem VZ hat. Für Testzwecke habe ich das VZ C:\Temp\ angegeben.

Java:
protected boolean checkLogFilePermission(){
		boolean hasPermission = true;
		//String filePath = logFileProperty.getLogFileLocation();
		
		String filePath = "C:\\Temp\\";
		System.out.println(filePath);
		FilePermission fp = new FilePermission(filePath, "write");
		try{
			AccessController.checkPermission(fp);
		}catch(AccessControlException ace){
			ace.printStackTrace();
			hasPermission = false;
		}
		
		return hasPermission;
	}

der Stacktrace sieht folgendermaßen aus,

Java:
java.security.AccessControlException: access denied (java.io.FilePermission C:\Temp\ write)
	at java.security.AccessControlContext.checkPermission(Unknown Source)

Interessant an dieser Ausgabe ist die zweite Zeile --> (Unknown Source)


Kann mir da jemand Helfen?

Danke und lg,
 

bERt0r

Top Contributor
Warum nicht einfach
Java:
File f=new File("C:\\Temp\\");
if(f.canWrite())
{doStuff();}
 
G

Gastredner

Gast
Die Fehlermeldung besagt einfach nur, dass der Compiler dir derzeit nicht sagen kann, in welcher Sourcecode-Datei und in welcher Zeile der Fehler genau geworfen worden ist, mehr nicht.
 

123456789

Aktives Mitglied
Warum nicht einfach
Java:
File f=new File("C:\\Temp\\");
if(f.canWrite())
{doStuff();}


Ja, danke! So funktionierts.

Aber die Exception, die unter der Verwendung von "FilePermission" auftritt, versteh ich noch immer nicht.

Java:
java.security.AccessControlException: access denied (java.io.FilePermission C:\Temp\ write)
    at java.security.AccessControlContext.checkPermission(Unknown Source)

Warum kommt die Meldung "access denied" ?

lg
 

Murray

Top Contributor
So funktioniert die Methode checkPermissions eben:
javadoc hat gesagt.:
Determines whether the access request indicated by the specified permission should be allowed or denied, based on the current AccessControlContext and security policy. This method quietly returns if the access request is permitted, or throws an AccessControlException otherwise.
File.canWrite arbeitet anders; hier bekommt man entweder true oder false zurück. Dagen ist cehckPermissions als void deklariert - es gibt also keinen Rückgabewert; entweder sind die Berechtigungen gegeben, dann kehrt die Methode einfach zurück. Oder aber es fehlen die notwendigen Berechtigungen, dann wird eben die Exception geworfen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Robert Zenz Ich brauche bitte mal kurz einen Sanity/Reality-Check betreffend Tests. Allgemeine Java-Themen 9
N MsgPack - Null Check Allgemeine Java-Themen 5
Ananaskirsche Website mit Browser-Check aufrufen Allgemeine Java-Themen 8
perlenfischer1984 Wann ist ein Parameter Check sinnvoll Allgemeine Java-Themen 7
P business check Allgemeine Java-Themen 2
P Check, welche Java Version installiert bevor ein Programm ausgeführt wird. Allgemeine Java-Themen 12
S Kleiner Texteditor mit MD5-Check Allgemeine Java-Themen 4
L Java Performance Check Tool Allgemeine Java-Themen 3
W 8 Bit CRC-Check (Umsetzung C->Java) Allgemeine Java-Themen 3
S HILFE! UML-Moddelierung. Ich check es nit! Allgemeine Java-Themen 4
S versions-check Allgemeine Java-Themen 5
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
D Read JSON File Problem Allgemeine Java-Themen 9
S Read End Dead Allgemeine Java-Themen 2
S Read End Dead Allgemeine Java-Themen 1
T ImageIO.read -> Can`t read input file Allgemeine Java-Themen 11
thet1983 Input/Output read properties file from classpath Allgemeine Java-Themen 3
H Security Manager (IIOException: Can't read input file!) Allgemeine Java-Themen 2
I Javafx Open/Read und Tree Funktion Allgemeine Java-Themen 14
M Read end ded [PipedInputStream...] Allgemeine Java-Themen 0
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
T InvalidClassException - Read null attempting to read class descriptor for object Allgemeine Java-Themen 8
A RandomAccessFile.read(byte[] b) Allgemeine Java-Themen 9
J write / read Problem Allgemeine Java-Themen 9
E Durch System.in.read() blockierten Thread stoppen Allgemeine Java-Themen 10
N read streams umleiten Allgemeine Java-Themen 2
G Read only Eclipse- Datei Allgemeine Java-Themen 5
W Konflikt byte->int, in.read->arraycopy Allgemeine Java-Themen 7
M BufferedReader.read(char[] cbuf) liefert falsche Werte? Allgemeine Java-Themen 4
A Probleme mit ImageIO.read( . ) Allgemeine Java-Themen 12
S NoClassDefFoundException - ImageIO.read - Applet Allgemeine Java-Themen 3
S java.io.InputStream.read(byte[] b) überschreiben Allgemeine Java-Themen 33
A System.in.read() Problem Allgemeine Java-Themen 6
R read/readline blockiert Allgemeine Java-Themen 5
F Zu große Werte beim byteweisen Lesen mit BufferedReader.read Allgemeine Java-Themen 5
C ImageIO die read-Methode liefert mir ein null- Wert zurück Allgemeine Java-Themen 10
M InputStream.read abbrechen Allgemeine Java-Themen 2
Aruetiise Methoden write() schreibt nicht alles Allgemeine Java-Themen 4
Dechasa Input/Output Write into File Allgemeine Java-Themen 2
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
bj99 ImageIO.write() macht Probleme Allgemeine Java-Themen 7
R Welche Exception bei write() nehmen Allgemeine Java-Themen 7
W BufferedWriter.write() schreibt nicht Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben