Hola forosdelweb yo estoy intentando que al momento de abrir mi index me salga un openfile dialog para lograrlo creo un <input type="file"> en mi jsp sin embargo eso no es el problema el problema es que cuando creo mi servlet y mi manejador para lograr que la imagen o fichero que seleccion en el fileDialog se cree una copia en la carpeta que yo le indico, me tira el siguiente problema java.io.FileNotFoundException: D:\Users (Acceso denegado) y ps ya revise las propiedades del la carpeta, los permisos y todo y estan bien ps la cuenta q utilizao es administrador yo uso windows seven como sistema operativo y ps me gustaria saber si existe otra forma mas facil o complicada pela cual sea de hacer dicha cuestion o si se puede solucionar mi problema mi codigo es este pueden dirigirse a mi como "CoCo" para las personas que sean tan amables de responder de ante mano les agradezco a todos.
MI pagina JSP es esta
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="ServletCrearTorneo.do">
<input type="file" name="abrir" >
<input type="submit" name="guardar">
</form>
</body>
</html>
MI manejador es este
package org.sistemacampeonato.manejadores;
import java.io.File;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.channels.FileChannel;
public class Copiar {
private static Copiar instancia;
public static Copiar getInstancia(){
if (instancia == null){
instancia = new Copiar();
}
return instancia;
}
/**
* Copia un solo archivo
* @param s
* @param t
* @throws IOException
*/
public void copyFile(File s, File t)
{
try{
FileChannel in = (new FileInputStream(s)).getChannel();
FileChannel out = (new FileOutputStream(t)).getChannel();
in.transferTo(0, s.length(), out);
in.close();
out.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Mi servlet es este
package org.sistemacampeonato.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import org.sistemacampeonato.manejadores.Copiar;
import javax.servlet.RequestDispatcher;
import java.io.File;
public class ServletCrearTorneo extends HttpServlet{
public void doPost(HttpServletRequest peticion, HttpServletResponse respuesta) throws IOException, ServletException{
RequestDispatcher despachador = null;
String fichero = peticion.getParameter("abrir");
Copiar cp = new Copiar();
try{
cp.copyFile(new File(fichero), new File("D:\\Users"));
//cp.copy(new File(fichero),new File("C:/Users/CoCo/Desktop/Nueva carpeta"));
System.out.print("Copiado con exito");
}catch(Exception e){
System.out.println(e);
System.out.println("No se pudo Copiar en fichero");
}
despachador = peticion.getRequestDispatcher("pruebas.jsp");
despachador.forward(peticion, respuesta);
}
}