Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pde-dev] IFile.exists() always returns false


Hello,

I tryed the small piece of code bellow in an action and it's working great for me, are you sure of the content of your "absolutePathToFile" var ? If your destination file is in a sub-directory, you must create all the parents directories before create the file.

****
// Create and open the project,
try{
IProject project = ResourcesPlugin.getWorkspace().getRoot()
.getProject("myProject");
IProgressMonitor mon = (IProgressMonitor) new NullProgressMonitor();

if (!project.exists() )
project.create(mon);
if (!project.isOpen())
project.open(mon);



IPath path = new Path("build.properties");
IFile f = project.getFile(path);

if (f.exists()) {
System.out.println(f.getName() + " exist");
} else {
System.out.println(" N'existe pas");
f.create(new FileInputStream("W:/build.properties"),
true, mon);
if (f.exists()) {
System.out.println(f.getName() + " exist");
} else {
System.out.println(f.getName() + " don't exist");
}
}
} catch (CoreException e) {

e.printStackTrace();
} catch (FileNotFoundException e) {

e.printStackTrace();
}
****


Christophe

Donald E. Stinchfield a écrit :

From my plugin code I have created a new file in my workspace and am adding it to my project using the following code:

IPath workspaceIPath = *new* Path(absolutePathToFile);

IFile toFile = toContainer.getFile(workspaceIPath);

I don’t bother calling toFile.create() since the file is already there, plus from the navigator I see my new file in the project. All looks good so far.

The problem is I want to set a property value on the file as soon as I add it to the workspace. I’m using the following updated code

IPath workspaceIPath = *new* Path(absolutePathToFile);

IFile toFile = toContainer.getFile(workspaceIPath);

toFile.refreshLocal(IResource./DEPTH_INFINITE/, *null*);

*if* (toFile.exists())

toFile.setPersistentProperty(/MY_KEY/, “Some string”);

toFile.exists() always returns false. I thought refreshLocal() would take care of it, but it doesn’t. I’ve tried a bunch of things and have searched through the bug list and mailing lists. I haven’t come up with anything. Any thoughts?

Regards,

Don

* *

------------------------------------------------------------------------

_______________________________________________
pde-dev mailing list
pde-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-dev

*****************************************************
"Le contenu de ce courriel et ses eventuelles pièces jointes sont
confidentiels. Ils s'adressent exclusivement à la personne destinataire.
Si cet envoi ne vous est pas destiné, ou si vous l'avez reçu par erreur,
et afin de ne pas violer le secret des correspondances, vous ne devez pas
le transmettre à d'autres personnes ni le reproduire. Merci de le renvoyer
à l'émetteur et de le détruire.

Attention : L'Organisme de l'émetteur du message ne pourra être tenu responsable de l'altération
du présent courriel. Il appartient au destinataire de vérifier que les
messages et pièces jointes reçus ne contiennent pas de virus.
Les opinions contenues dans ce courriel et ses éventuelles pièces
jointes sont celles de l'émetteur. Elles ne reflètent pas la position de l'Organisme
sauf s'il en est disposé autrement dans le présent courriel."
******************************************************


Back to the top