Solved

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

Posted on 2011-09-16
22
288 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
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
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

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

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

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

726 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