¿Por qué recibo la excepción FileNotFoundException cuando presiono una URL para obtener contenido?
Frecuentes
Visto 131 equipos
0
Tengo un método aquí, donde paso una URL, un nombre de usuario y una contraseña en mi método.
Aquí está mi método:
private void fetchURL (String urlString,String user,String pass) {
try {
URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
Properties sysProperties = System.getProperties();
sysProperties.put("proxyHost", "proxy.cyberway.com.sg");
sysProperties.put("proxyPort", "8080");
sysProperties.put("proxySet", "true");
url = new URL (urlString);
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty ("Content-Type", "application/x-www-form-urlencoded");
printout = new DataOutputStream (urlConn.getOutputStream ());
String content = "USERNAME=" + URLEncoder.encode (user) + "&PASSWORD=" + URLEncoder.encode (pass);
printout.writeBytes (content);
printout.flush ();
printout.close ();
input = new DataInputStream (urlConn.getInputStream ());
FileOutputStream fos=new FileOutputStream("D://outcome.txt");
String str;
while (null != ((str = input.readLine())))
{
if (str.length() >0)
{
fos.write(str.getBytes());
fos.write(new String("\n").getBytes());
}
}
input.close ();
}
catch(MalformedURLException mue){ System.out.println (mue);}
catch(IOException ioe){ System.out.println (ioe);}
}
Lo que obtengo es esta excepción: java.io.FileNotFoundException: URL/Dirección
¿Por qué recibo este error? ¿Y cuál es el problema?
2 Respuestas
0
Es D:\\ o D:/
No D:// porque :// es una secuencia utilizada para protocolos como http:// o file://
Respondido 05 Feb 14, 07:02
El error sigue ahí. java.io.FileNotFoundException - Muhammad Maqsoodur Rehman
Veo. ¿De qué línea dices que viene? - Xabster
0
Use la clase de archivo java en FileOutputStream como,
File file = new File("D:\\outcome.txt");
if (!file.isExists) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
String str;
while (null != ((str = input.readLine()))) {
if (str.length() > 0) {
fos.write(str.getBytes());
fos.write(new String("\n").getBytes());
}
}
La javadoc dice que FileOutputStream lanzará FileNotFoundException si el archivo no existe y la secuencia no puede crear un nuevo archivo.
Entonces, la mejor manera es usar el objeto File en FileOutputStream
Respondido 05 Feb 14, 09:02
Buena sugerencia. Pero el error sigue ahí. java.io.FileNotFoundException: URL/Dirección - Muhammad Maqsoodur Rehman
@MuhammadMaqsoodurRehman Edité mi respuesta al verificar la presencia del archivo y crear un nuevo archivo si el archivo no está presente. - AJJ
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java exception or haz tu propia pregunta.
por favor publique su seguimiento de pila - user957654