• Post Reply Bookmark Topic Watch Topic
  • New Topic

condition in servlet??  RSS feed

Bikash Paul
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all friends,
Iam developing one application(front end swing , back end servlet and http protocol through urlconnection) for data transfer from one destination to another.And application have facility of suspend of one file in between and start another new file from scratch and can resume that file which is stopped in between later.Now for that I want to put condition in servlet so that it can recognise two situation:-
1.if it is new file it can write in the file and 2.if it is partial file it can append into the file by opening the file in append mode.
But I couldn't decide what will be the syntax of condition.Can any one plz suggest me how i can put conditions.Any help will be highly appreciated.Below r my codes:-
public class RecvServlet extends HttpServlet {
public static final String BASE_DIR = "d:\\temp";
File baseFile;
public void init() throws ServletException {
baseFile = new File(BASE_DIR);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
response.sendError(response.SC_NOT_ACCEPTABLE, "Must use POST method.");
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
String filename;
filename = request.getParameter("name");
String path;
path = request.getParameter("path");
File outfile = new File(filename);
if (path != null && filename != null) {
outfile = new File(path, filename);
System.err.println("Final output file: " +
DataInputStream dis;
dis = new DataInputStream(request.getInputStream());
OutputStream os;
os = new BufferedOutputStream(new FileOutputStream(outfile));
int cc;
byte [] buf = new byte[512];
long lim, tot = 0;
lim = dis.readLong();
try {
System.err.println("Reading " + lim + " bytes...");
for(cc = dis.read(buf, 0, 512);
cc > 0 && tot < lim;
cc = dis.read(buf, 0, 512))
os.write(buf, 0, cc);
tot += cc;
System.err.print("+" + cc + "(" + tot + ")");
if (tot >= lim) break;
catch (IOException ie) {
try { os.close(); } catch (Exception e2) { }
System.err.println("Exception during file transfer!");
System.err.println("Read " + tot + " bytes.");
PrintStream pos = new PrintStream(response.getOutputStream());
Les Dsouza
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can try the following:
File fil = new File(filename);
FileOutputStream fos=null;
if (fil.exists()){
// file is already there so append to it
fos = FileOutputStream(fil,true);
fos=new FIleOutputStream(fil);

hope this helps,
[ March 12, 2002: Message edited by: Les Dsouza ]
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!