2016-07-17 14 views
-1

Ich kann nicht verstehen, warum in meinem Fall File file = new File() die vorhandene Datei nicht lesen kann.JAVA java.io.File Datei lesen

Dies ist der Code:

File tempDir = new File("imp_temp"); 
File sourceFile = new File(tempDir.getAbsolutePath() + File.separator + "Jellyfish.jpg"); 

logger.info(sourceFile.length()); 
logger.info(sourceFile.getAbsoluteFile()); 
logger.info(sourceFile.canRead()); 
logger.info(sourceFile.isFile()); 

Datei 'Jellyfish.jpg' ist zu 100% gibt es, ich es in meinem Explorer-Fenster sehen. Aber das ist, was ich in anmelden:

2016-07-17 17:38:13,328 INFO [http-apr-8080-exec-5] main.IndexController (IndexController.java:201) - 0 
2016-07-17 17:38:13,329 INFO [http-apr-8080-exec-5] main.IndexController (IndexController.java:202) - C:\Users\slipo\IdeaProjects\testSpring\tomcat9\bin\imp_temp\Jellyfish.jpg 
2016-07-17 17:38:13,329 INFO [http-apr-8080-exec-5] main.IndexController (IndexController.java:203) - false 
2016-07-17 17:38:13,329 INFO [http-apr-8080-exec-5] main.IndexController (IndexController.java:204) - false 

Warum die java.io.File Diese Datei kann nicht sehen?

+1

Sicher ist es im Ordner "bin" und nicht "src"? Übrigens könnte es besser sein, 'new File (tempDir.getAbsolutePath()," Jellyfish.jpg ");' zu verwenden, da dies die Verwendung von 'File.separator' vermeidet (was bereits besser ist als nur' "" oder "" ') – Tom

+0

ye sure not' src' – user1935987

+0

Können Sie ein Bild mit der Registerkarte 'Security' aus dem Dateieigenschaftenmenü' (Rechtsklick auf Datei -> Eigenschaften -> Sicherheit) 'posten. Was ist die Einstellung dort für Ihren Benutzer? –

Antwort

0

Sie verwenden Maven? Sie sollten wahrscheinlich ClassLoader verwenden, und legen Sie die Datei in/resources