2012-11-14 10 views
-2

aider à faire une telle chose (dans la réponse précédente, on m'a dit que je mal expliqué, et maintenant essayer d'expliquer poponyatneee) J'ai une forme, juste une forme, le code est:Comment se débarrasser des extensions de fichiers?

<form action="searchf" method="Post"> 
<input type="text" name="text" autofocus > 
<input type="submit" value=""> 
</form> 

L'utilisateur entre dans ce formulaire différents noms de fichiers, tels que: index.txt, hello.html (fichiers avec des noms en double, et, fondamentalement, il sera txt fichiers). Ensuite, le servlet prend chaîne que l'utilisateur entre:

String myName = request.getParameter("text"); 

Poursuivre le programme appelé fichiers d'entrée à la recherche pour les fichiers dans le dossier, mais le fait est qu'il est nécessaire d'entrer dans le programme index.html pour trouver le fichier le dossier, non seulement l'index, voici aider à entrer dans l'extension n'a pas été nécessairement essayer de le faire:

String myNamee = request.getParameter("text"); 
String myName = myNamee.replaceFirst("[.][^.]+$", ""); 

Il ne fonctionne pas (je serai heureux de réponses

Eric Scot

+0

J'ai écrit que le programme recherche les données entrées dans un répertoire spécifique –

+1

Note de côté: nommer les variables comme 'myNamee' et' myName' est une mauvaise idée, très facile à utiliser la mauvaise variable avec une faute de frappe. Essayez 'inputFileWithExt' et' inputFile', par exemple. –

+1

Vous attendez que l'utilisateur donne le nom de fichier avec l'extension? –

Répondre

0

Si vous devez séparer l'extension de fichier du nom de fichier, vous pouvez faire quelque chose comme ceci:

String file = request.getParameter("text"); 
String fileNoExt, fileExt = ""; 
if(file.indexOf(".") == -1) { 
    fileNoExt = file; 
else { 
    fileNoExt = file.substring(0,file.lastIndexOf(".")); 
    fileExt = file.substring(file.lastIndexOf(".")+1); 
} 

Je vous recommande de tester ce code en dehors du contexte des Servlets. Créez simplement un programme Java simple avec une méthode principale pour rechercher un fichier dans un répertoire et vous pouvez oublier les informations d'entrée et de formulaire. Il vous suffit de coder en dur certaines données de test pour vous assurer que vous savez comment parcourir un répertoire et que votre code pour gérer les noms de fichiers fonctionne correctement.

Vous trouverez peut-être ce other stack overflow question utile pour comprendre comment rechercher dans un répertoire pour un fichier.

+0

merci essayez maintenant –

+0

Votre option n'a pas fonctionné ( –

+1

@EricScot - expliquez-vous.En quel sens cela ne fonctionnait pas? Quels étaient les symptômes? les erreurs? –

0

Pourquoi ne pas découper tout à partir du dernier point au nom à la fin:

final String baseName = fileName.substring(0, fileName.lastIndexOf(".")); 
+0

Merci d'essayer, vous ne partirez pas) –

+0

'String myName = request.getParameter ("text"); final Chaîne baseName = monNom.substring (0, monNom.lastIndexOf ("."));' –

+0

Votre version m'a donné cette erreur –

Questions connexes