2013-04-18 2 views
-6

j'ai une application qu'un utilisateur télécharge un fichier,Comment changer une extension de fichier d'un emplacement de fichier

mais ce que je veux est de détecter l'extension de fichier du fichier téléchargé et si un fichier doc faire quelque chose d'autre ne fait rien

quelqu'un a des idées?

est-il possible de changer l'extension du fichier par exemple est un fichier a été D: /test.doc pour passer à D: /test.pdf

Je sais que ce ne sera pas convertir le format de fichier, cela être fait plus tard

l'emplacement du fichier change à chaque fois etc donc je juste besoin d'un moyen de prendre l'emplacement, et changer l'extension du fichier

Code

j'ai actuellement

File file = new File("oldname"); 

File file2 = new File("newname"); 
// Rename file (or directory) 
boolean success = file.renameTo(file2); 
if (!success) 
{ 
// File was not successfully renamed 
} 

mais cela ne l'a pas fait :( Le problème avec ce code est je dois donner le nouveau nom de fichier, et je ne peux pas comme il devrait être exactement le même que l'ancien nom de fichier qui vient avec des extensions différentes

EDIT 2

Espérons que cela éclaircir comme la dernière question était un peu déroutant

essentiellement, j'ai un programme qui convertit un fichier doc téléchargé au format PDF, mais l'emplacement du doc ​​téléchargé change chaque fois, comme il crée un dossier pour chaque utilisateur

ceci est défini dans la variable ble String location

ce que je veux faire est de prendre cette location variable cela va se terminer par un .doc et je veux changer le location de .doc à .pdf

J'ai réussi à trouver le nom du fichier, sans extension de hte en utilisant:

 String path = location; 
     File f = new File(path); 
     System.out.println(f.getName()); 
     String fName = f.getName(); 
     System.out.println(fName.substring(0, fName.lastIndexOf('.'))); 

mais comment puis-je trouver le chemin avant le nom du fichier

EDIT pour la dernière fois que j'ai trouvé une solution

System.out.println(path2.substring(0, path2.lastIndexOf('.'))); 
      newLocation = (path2.substring(0, path2.lastIndexOf('.')))+".pdf"; 
      System.out.println(newLocation); 
+5

fileName.endsWith (". Doc")? –

+0

Oh ok, vraiment je ne pensais pas que c'était si facile, merci! – user2065929

+0

est-il un moyen de modifier l'extension de fichier par exemple est un fichier D:/test.doc pour passer à D: /test.pdf – user2065929

Répondre

2

Vous pouvez simplement vérifier l'extension par correspondance de chaîne, tels que endsWith().

Pour connaître le chemin avant le nom du fichier, utilisez lastIndexof ("\") sur le chemin absolu.

+2

Répondre à une question avec une autre question? –

+0

J'essaie de comprendre s'il demande autre chose. – Ryan

+1

Ensuite, ce serait l'utilisation appropriée d'un commentaire, pas une réponse – LittleBobbyTables

2

Si vous avez besoin de vérifier l'extension des fichiers téléchargés, je vous suggère d'utiliser des nombres magiques.

Plus de détails vous pouvez trouver here

Vérification de l'extension comme .doc ou .pdf ne signifie pas que ce fichier est document Word ou un fichier de document pdf.

Questions connexes