Java Servlet dosya okuma, yanıt verme ve indirme kodu kullanımı örneği (Java Servlet read file,response and download code usage example)

Java Servlet ile uygulamamızın çalıştığı bilgisayarda bulunan bir dosyayı okuma ve bu dosyanın içeriğini geri dönme işlemini aşağıdaki şekilde yapabilirsiniz.

	HttpServletRequest req = (HttpServletRequest) request;
	HttpServletResponse resp = (HttpServletResponse) response;
	response.setContentType("text/plain;charset=UTF-8");
    	
	PrintWriter pw = resp.getWriter();

	FileInputStream fis = new FileInputStream(filePath);
	InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
	BufferedReader reader = new BufferedReader(isr);
	String line = null;
	while ((line = reader.readLine()) != null) {
		pw.println(line);
	}  

Java Servlet ile uygulamanızın çalıştığı yerde bulunan yerel dizindeki html,xml,pdf,txt ve benzeri gibi dosyaları kullanıcının bilgisayarına indirmesini sağlamak için aşağıdaki işlemleri uygulayabilirsiniz.

	HttpServletRequest req = (HttpServletRequest) request;
	HttpServletResponse resp = (HttpServletResponse) response;
	
	resp.setContentType("text/pdf;charset=UTF-8");
	resp.setHeader("Content-disposition", "attachment; filename=\"MyFileName.pdf\"");
    	
	PrintWriter pw = resp.getWriter();

	FileInputStream fis = new FileInputStream(filePath);
	InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
	BufferedReader reader = new BufferedReader(isr);
	String line = null;
	while ((line = reader.readLine()) != null) {
		pw.println(line);
	}  

Dosyalarınızı görüntülemede veya indirmede karakter sorunu yaşamamak için ise aşağıdaki gibi “response” değerinizin karakter kodlama değerini belirlemeniz gerekmektedir.

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse resp = (HttpServletResponse) response;
		
		resp.setCharacterEncoding("UTF-8");
	}
Share on Facebook0Tweet about this on TwitterShare on Google+0Share on StumbleUpon0Share on Reddit0

Leave a Reply


*