Estou fazendo um File upload em java, e estou tentando salvar em um txt o nome do arquivo que foi feito upload, e a data do upload… Porem sou iniciante em java e estou com dificuldade ao passar o nome do arquivo, alguém pode dar uma olhada no meu código
package com.chilyfacts.com;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUploadHandler extends HttpServlet {
private static final long serialVersionUID = 1 ;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
String file_name = null;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
boolean isMultipartContent = ServletFileUpload.isMultipartContent(request);
if (!isMultipartContent) {
return;
}
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List < FileItem > fields = upload.parseRequest(request);
Iterator < FileItem > it = fields.iterator();
if (!it.hasNext()) {
return;
}
while (it.hasNext()) {
FileItem fileItem = it.next();
boolean isFormField = fileItem.isFormField();
if (isFormField) {
if (file_name == null) {
if (fileItem.getFieldName().equals("file_name")) {
file_name = fileItem.getString();
}
}
} else {
if (fileItem.getSize() > 0) {
fileItem.write(new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0_Tomcat90\\webapps\\Fileup" + fileItem.getName()));
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
out.println("<script type='text/javascript'>");
out.println("window.location.href='index.jsp?filename="+file_name+"'");
out.println("</script>");
out.close();
}
}
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("DD/MM/YYYY HH:mm:ss");
try {
// Conteudo
String content = "data:" + new Date();
// Cria arquivo
File file = new File("teste.txt");
// Se o arquivo nao existir, ele gera
if (!file.exists()) {
file.createNewFile();
}
// Prepara para escrever no arquivo
FileWriter fw = new FileWriter(file, true);
BufferedWriter bw = new BufferedWriter(fw);
// Escreve e fecha arquivo
bw.write(content);
bw.close();
// Le o arquivo
FileReader ler = new FileReader("teste.txt");
BufferedReader reader = new BufferedReader(ler);
String linha;
while( (linha = reader.readLine()) != null ){
System.out.println(linha);
}
// Imprime confirmacao
System.out.println("Feito !");
} catch (IOException e) {
e.printStackTrace();
}
}
}