Solved

new File returns false for canRead/canWrite for a shared directory

Posted on 2011-09-16
22
284 Views
Last Modified: 2012-05-12
I am trying to open a shared directory on the network which is otherwise accessible from Windows but when I used JFileChooser and pass new File(directory).canRead and canWrite I always get a false back - anyone know why ?
0
Comment
Question by:abuyusuf35
  • 10
  • 8
  • 4
22 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 36551054

Are you sure you are running your application as the same user you are checking from windows ?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551065
I assume you choose a directory with the JFileChooser? Can you post your code?
0
 

Author Comment

by:abuyusuf35
ID: 36551080
if (!new File(directory).canRead() && !new File(directory).canWrite())
{
      JOptionPane.showMessageDialog(this, " The location " + directory
        + " is not accessible ", "Message", JOptionPane.INFORMATION_MESSAGE);
      return;
}
0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 
LVL 47

Expert Comment

by:for_yan
ID: 36551095
maybe you need parentheses - embnbedded sapce there after new - will it work?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551099
The code that gets 'directory' please
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551115
No, parentheses do not matter I checked

But it also returned that I cannot read rtthe file which I in fact can read - the saem issue as you see
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551120
>>maybe you need parentheses - embnbedded sapce there after new - will it work?

You don't need 'new' at all. Because the chooser should already be returning File
0
 

Author Comment

by:abuyusuf35
ID: 36551125
I am checking if the directory is accessible before I move it onto the JFileChooser - all other directories work fine but a shared one on the network doesn't for example \\shared_drive\myfiles

new File() itself returns false
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551128
Please post the code i asked to see
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551133
Actually, I was wrong - it works fine for me
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551137
>>before I move it onto the JFileChooser

What does that mean? I guess i'll find out when you post the code...
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551140
I think you cannot use UNC

try to map the drive to letter
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551146
There are many limitations with UNC in windows - perhaps when you amp the dricve it will work
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551147
If 'directory' is of type String then you'd need
File directory = new File("\\\\shared_drive\\myfiles");

Open in new window

0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551152

There are many limitations with UNC in windows - perhaps when you map the drive it will work
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551154
>>I think you cannot use UNC

You can (see above)
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551157
But you are not typing them wexplicitly - you are taking them from Chooser ?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 36551168
>>But you are not typing them wexplicitly - you are taking them from Chooser ?

If you think that, why are you commenting (incorrectly) about UNC?
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36551224
>If you think that, why are you commenting (incorrectly) about UNC?
Those are different matters

But how can you be typing them iof you are getting file form the Chooser?

On some versions of windows systems there are limitations on UNC and it is underneath java
so if something cannot be explained it is better to try it with mapped drive
- I encountered that many times.

Are you saying that you mapped and it still is not workin?
0
 
LVL 47

Accepted Solution

by:
for_yan earned 500 total points
ID: 36551269
And when you are network share domain authetication may be done in different way
When you map drive - it will check your crednetials at that moment

So then when you access file on the shared drive user was already authenticated.
Whereas with UNC it should happen at the moment when it reaches the file.

So especially when you see something which seems related to your privileges it is worth trying
to so it through mapping.

So I'm not "commenting (incorrectly)". I am suggesting the things to check.



0
 

Author Comment

by:abuyusuf35
ID: 36904274
I've requested that this question be closed as follows:

Accepted answer: 0 points for abuyusuf35's comment http:/Q_27312597.html#36551125

for the following reason:

None of the suggestions mentioned worked hence I went with my own solution
0
 

Author Comment

by:abuyusuf35
ID: 36904275
Will accept solution from one of the submitters
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question