java - Delete String from text file fails on deployment in tomcat -
as per captioned subject, not able delete string text file on deployment in tomcat. although works absolutely fine in netbeans or eclipse. when application deployed says 'could not delete file'. not able manually delete file 'cannot delete file: in use other programs'. able append string same text file. code using delete string file.
package com.pro.model; import java.io.bufferedreader; import java.io.bufferedwriter; import java.io.file; import java.io.filenotfoundexception; import java.io.filereader; import java.io.filewriter; import java.io.ioexception; import java.io.printwriter; import java.util.arraylist; import java.util.list; import java.util.logging.level; import java.util.logging.logger; public class removeline { private string inputfilename = "d:\\marquee\\copy of scroll.txt"; public boolean deletedata(string msg, int pos) throws ioexception { //list msg_remove = null; system.out.println("msg :" + msg); bufferedreader reader = null; try { file inputfile = new file(inputfilename); file tempfile = new file("d:\\mytempfile.txt"); reader = new bufferedreader(new filereader(inputfile)); bufferedwriter writer = new bufferedwriter(new filewriter(tempfile)); string linetoremove = msg; string currentline; while ((currentline = reader.readline()) != null) { // trim newline when comparing linetoremove string[] trimmedline = currentline.split("\\|"); system.out.println("currentline :" + currentline); system.out.println("trimmedline :" + trimmedline.length); (int = 0; < trimmedline.length; i++) { int k = + 1; system.out.println("calculating size of field " + k); //writer.write("column " + k + " " + trimmedline[i].length()); // is.flush(); // is.newline(); system.out.println("trimmedline[i] :" + trimmedline[i]); //writer.write(trimmedline[i] + "|"); system.out.println("trimmedline[i].equals(linetoremove) :" + trimmedline[i].equals(linetoremove)); //if (trimmedline[i].equals(linetoremove)) { if (i == pos) { system.out.println("trimmedline in if:" + trimmedline[i]); //writer.flush(); //trimmedline.replaceall(currentline, ""); continue; } system.out.println("currentline :" + currentline); //writer.write(currentline + "|"); writer.write(trimmedline[i] + "|"); } } writer.flush(); reader.close(); writer.close(); if (!inputfile.delete()) { system.out.println("could not delete file"); return false; } //rename new file filename original file had. if (!tempfile.renameto(inputfile)) { system.out.println("could not rename file"); return false; } return true; //boolean successful = tempfile.renameto(inputfile); } catch (filenotfoundexception ex) { ex.printstacktrace(); return false; } { try { reader.close(); } catch (ioexception ex) { ex.printstacktrace(); } } } public list readtext() throws filenotfoundexception, ioexception { bufferedreader reader = null; list msg_after_removed = new arraylist(); try { file inputfile = new file(inputfilename); //file tempfile = new file("c:\\mytempfile.txt"); reader = new bufferedreader(new filereader(inputfile)); //msg_after_removed = new arraylist(); if (inputfile.exists()) { //data = msg1; filewriter filewritter = new filewriter(inputfile.getpath(), true); system.out.println("file.getname():" + inputfile.getname()); system.out.println("file.getname():" + inputfile.getpath()); reader = new bufferedreader(new filereader(inputfile)); string currentline; while ((currentline = reader.readline()) != null) { string[] trimmedline = currentline.split("\\|"); (int = 0; < trimmedline.length; i++) { bean getdata = new bean(); system.out.println("trimmedline in read ==" + trimmedline[i] + + "=length=" + trimmedline.length); getdata.setmsg(trimmedline[i]); string arr[] = trimmedline[i].split(":"); system.out.println("arr[] in read" + arr[1]); getdata.setdate(arr[0]); getdata.setmsg(arr[1]); msg_after_removed.add(getdata); //reader.close(); } } } } catch (filenotfoundexception ex) { ex.printstacktrace(); bean getdata = new bean(); getdata.setdate("0"); getdata.setmsg("0"); msg_after_removed.add(getdata); system.out.println("in catch"); //reader.close(); //return false; } { if (reader != null) { reader.close(); } } return msg_after_removed; } } i thought maybe read stream not closing & why not able delete/save file manually. if case, should not able append string file. appreciated.
Comments
Post a Comment