This week's book giveaway is in the Java in General forum.
We're giving away four copies of Think Java: How to Think Like a Computer Scientist and have Allen B. Downey & Chris Mayfield on-line!
See this thread for details.
Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

condition in servlet??

 
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:-
RecvServlet.java:-
=================
public class RecvServlet extends HttpServlet {
public static final String BASE_DIR = "d:\\temp";
File baseFile;
public void init() throws ServletException {
super.init();
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: " +
outfile.getAbsolutePath());
}
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.");
os.close();
response.setContentType("text/plain");
PrintStream pos = new PrintStream(response.getOutputStream());
pos.println(tot);
}
}
Regards
Bikash
 
Les Dsouza
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
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);
}
else{
fos=new FIleOutputStream(fil);
}

hope this helps,
Lester.
[ March 12, 2002: Message edited by: Les Dsouza ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic