Me gustaría crear una aplicación que requiera leer un archivo .txt
en el directorio de mi proyecto.Cómo leer un archivo TXT en el Directorio de la página del servidor Java
Este es mi código de mi index.jsp
:
<%@page import="java.io.FileReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Read Text</title>
</head>
<body>
<%
BufferedReader reader = new BufferedReader(new FileReader("aFile.txt"));
StringBuilder sb = new StringBuilder();
String line;
while((line = reader.readLine())!= null){
sb.append(line+"\n");
}
out.println(sb.toString());
%>
</body>
</html>
Cuando ejecuto el código anterior, mi navegador me dice que aFile.txt
no se puede encontrar. Luego, puse aFile.txt
en el mismo directorio que esta página web (index.jsp
). Me pregunto, ¿qué debo escribir para encontrar el directorio de aFile.txt
Y así es como se resolvió mi problema. Gracias Ahmad Hasem
<%@page import="java.io.File"%>
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.net.URL"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Read Text</title>
</head>
<body>
<%
String jspPath = session.getServletContext().getRealPath("/res");
String txtFilePath = jspPath+ "/aFile.txt";
BufferedReader reader = new BufferedReader(new FileReader(txtFilePath));
StringBuilder sb = new StringBuilder();
String line;
while((line = reader.readLine())!= null){
sb.append(line+"\n");
}
out.println(sb.toString());
%>
</body>
</html>
Sí, lo puse en web-inf. ¿Qué sucede si lo publico fuera de web-inf? por ejemplo, hago una carpeta y la coloco allí. – farissyariati
utilice el código anterior para obtener la ruta del archivo de texto. –