Search Results

Search found 9282 results on 372 pages for 'complete'.

Page 110/372 | < Previous Page | 106 107 108 109 110 111 112 113 114 115 116 117  | Next Page >

  • Questions related to writing your own file downloader using multiple threads java

    - by Shekhar
    Hello In my current company, i am doing a PoC on how we can write a file downloader utility. We have to use socket programming(TCP/IP) for downloading the files. One of the requirements of the client is that a file(which will be large in size) should be transfered in chunks for example if we have a file of 5Mb size then we can have 5 threads which transfer 1 Mb each. I have written a small application which downloads a file. You can download the eclipe project from http://www.fileflyer.com/view/QM1JSC0 A brief explanation of my classes FileSender.java This class provides the bytes of file. It has a method called sendBytesOfFile(long start,long end, long sequenceNo) which gives the number of bytes. import java.io.File; import java.io.IOException; import java.util.zip.CRC32; import org.apache.commons.io.FileUtils; public class FileSender { private static final String FILE_NAME = "C:\\shared\\test.pdf"; public ByteArrayWrapper sendBytesOfFile(long start,long end, long sequenceNo){ try { File file = new File(FILE_NAME); byte[] fileBytes = FileUtils.readFileToByteArray(file); System.out.println("Size of file is " +fileBytes.length); System.out.println(); System.out.println("Start "+start +" end "+end); byte[] bytes = getByteArray(fileBytes, start, end); ByteArrayWrapper wrapper = new ByteArrayWrapper(bytes, sequenceNo); return wrapper; } catch (IOException e) { throw new RuntimeException(e); } } private byte[] getByteArray(byte[] bytes, long start, long end){ long arrayLength = end-start; System.out.println("Start : "+start +" end : "+end + " Arraylength : "+arrayLength +" length of source array : "+bytes.length); byte[] arr = new byte[(int)arrayLength]; for(int i = (int)start, j =0; i < end;i++,j++){ arr[j] = bytes[i]; } return arr; } public static long fileSize(){ File file = new File(FILE_NAME); return file.length(); } } Second Class is FileReceiver.java - This class receives the file. Small Explanation what this file does This class finds the size of the file to be fetched from Sender Depending upon the size of the file it finds the start and end position till the bytes needs to be read. It starts n number of threads giving each thread start,end, sequence number and a list which all the threads share. Each thread reads the number of bytes and creates a ByteArrayWrapper. ByteArrayWrapper objects are added to the list Then i have while loop which basically make sure that all threads have done their work finally it sorts the list based on the sequence number. then the bytes are joined, and a complete byte array is formed which is converted to a file. Code of File Receiver package com.filedownloader; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.zip.CRC32; import org.apache.commons.io.FileUtils; public class FileReceiver { public static void main(String[] args) { FileReceiver receiver = new FileReceiver(); receiver.receiveFile(); } public void receiveFile(){ long startTime = System.currentTimeMillis(); long numberOfThreads = 10; long filesize = FileSender.fileSize(); System.out.println("File size received "+filesize); long start = filesize/numberOfThreads; List<ByteArrayWrapper> list = new ArrayList<ByteArrayWrapper>(); for(long threadCount =0; threadCount<numberOfThreads ;threadCount++){ FileDownloaderTask task = new FileDownloaderTask(threadCount*start,(threadCount+1)*start,threadCount,list); new Thread(task).start(); } while(list.size() != numberOfThreads){ // this is done so that all the threads should complete their work before processing further. //System.out.println("Waiting for threads to complete. List size "+list.size()); } if(list.size() == numberOfThreads){ System.out.println("All bytes received "+list); Collections.sort(list, new Comparator<ByteArrayWrapper>() { @Override public int compare(ByteArrayWrapper o1, ByteArrayWrapper o2) { long sequence1 = o1.getSequence(); long sequence2 = o2.getSequence(); if(sequence1 < sequence2){ return -1; }else if(sequence1 > sequence2){ return 1; } else{ return 0; } } }); byte[] totalBytes = list.get(0).getBytes(); byte[] firstArr = null; byte[] secondArr = null; for(int i = 1;i<list.size();i++){ firstArr = totalBytes; secondArr = list.get(i).getBytes(); totalBytes = concat(firstArr, secondArr); } System.out.println(totalBytes.length); convertToFile(totalBytes,"c:\\tmp\\test.pdf"); long endTime = System.currentTimeMillis(); System.out.println("Total time taken with "+numberOfThreads +" threads is "+(endTime-startTime)+" ms" ); } } private byte[] concat(byte[] A, byte[] B) { byte[] C= new byte[A.length+B.length]; System.arraycopy(A, 0, C, 0, A.length); System.arraycopy(B, 0, C, A.length, B.length); return C; } private void convertToFile(byte[] totalBytes,String name) { try { FileUtils.writeByteArrayToFile(new File(name), totalBytes); } catch (IOException e) { throw new RuntimeException(e); } } } Code of ByteArrayWrapper package com.filedownloader; import java.io.Serializable; public class ByteArrayWrapper implements Serializable{ private static final long serialVersionUID = 3499562855188457886L; private byte[] bytes; private long sequence; public ByteArrayWrapper(byte[] bytes, long sequenceNo) { this.bytes = bytes; this.sequence = sequenceNo; } public byte[] getBytes() { return bytes; } public long getSequence() { return sequence; } } Code of FileDownloaderTask import java.util.List; public class FileDownloaderTask implements Runnable { private List<ByteArrayWrapper> list; private long start; private long end; private long sequenceNo; public FileDownloaderTask(long start,long end,long sequenceNo,List<ByteArrayWrapper> list) { this.list = list; this.start = start; this.end = end; this.sequenceNo = sequenceNo; } @Override public void run() { ByteArrayWrapper wrapper = new FileSender().sendBytesOfFile(start, end, sequenceNo); list.add(wrapper); } } Questions related to this code 1) Does file downloading becomes fast when multiple threads is used? In this code i am not able to see the benefit. 2) How should i decide how many threads should i create ? 3) Are their any opensource libraries which does that 4) The file which file receiver receives is valid and not corrupted but checksum (i used FileUtils of common-io) does not match. Whats the problem? 5) This code gives out of memory when used with large file(above 100 Mb) i.e. because byte array which is created. How can i avoid? I know this is a very bad code but i have to write this in one day -:). Please suggest any other good way to do this? Thanks Shekhar

    Read the article

  • Imported SWF Timeline control in Flash

    - by bandanaZeroZero
    How to control imported .swf timeline? var introLoader:Loader = new Loader(); var introReq:URLRequest = new URLRequest("intro.swf"); introLoader.load(introReq); introLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); function onComplete(e:Event){ addChild(introLoader); }

    Read the article

  • Cache in iphone

    - by venkat
    hello friends i am new to networking in iphone.i would like to see some sample code for cache its not based on image.i need for complete url. thanks in advance.

    Read the article

  • What do you miss from classic-asp days that is not available in asp.net ?

    - by this. __curious_geek
    Many of us have come from classic-asp background and eventually picked up asp.net for better. But I miss many features from classic-asp that are not available in asp.net. Like, I don't get complete control over the markup renderred to the client in asp.net wherein in classic-asp it was possible. What are those features you miss from your classic-asp days ? PS: This question is tribute to original classic-asp that once ruled the world.

    Read the article

  • Avahi DNS Stack for iPhone?

    - by sneha
    Hello, I would like to know if we have an avahi api for iphone side? Alternatively, can we implement avahi protocol in iphone? The avahi API provides: avahi-core: an API for embedding a complete mDNS/DNS-SD stack into your software. This is intended for developers of embedded appliances only. We dissuade from using this API in normal desktop applications since it is not a good idea to run multiple mDNS stacks simultaneously on the same host.

    Read the article

  • Most idiomatic way to print a time difference in Java?

    - by Zombies
    I'm familiar with printing time difference in milliseconds: long time = System.currentTimeMillis(); //do something that takes some time... long completedIn = System.currentTimeMillis() - time(); But, is there a nice way print a complete time in a specified format (eg: HH:MM:SS) either using Apache Commons or even the dreaded platform API's Date/Time objects? In other words, what is the shortest, simplest, no nonsense way to write this in Java?

    Read the article

  • wpf: usercontrol vs. customcontrol performance issue

    - by viky
    Which one is better from performance view user control or custom control? Right now I am using user control and In a specific scenario, I am creating around 200(approx.) different instances of this control but it is bit slow while loading and I need to wait atlest 20-30 second to complete the operation. What should I do to increase the performance?

    Read the article

  • Java Swing Generate JTable from POJO at runtime

    - by Guillaume
    I'm looking for a library able to build at runtime, using some configuration (xml, annotations, ...) and reflection, a complete JTable (model + searchable and sortable jtable) from a collection of POJOS. I did not found anything like that on the web and I'm wondering if something already exist before I start to coding this.

    Read the article

  • INFORMATION ON BO VOYAGER AND SOFTWARE

    - by praveen
    Hi All, I would like to know information on BO VOYAGER and its text books and how to get software for practice. We have developed OLAP cubes using SSAS 2008 and we are concern to look for VOYAGER. any opinions on the VOYAGER and how to start learning VOYAGER. I would like to know the complete information. thanks all prav

    Read the article

  • Why do I get a "Bad Gateway" error with my Perl CGI program on IIS?

    - by Eyla
    I'm trying to run sample Perl script on Windows 7 and I configured IIS 7 to allow ActivePerl to run but I'm getting this error: HTTP Error 502.2 - Bad Gateway The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are "Hello World. ". Module CgiModule Notification ExecuteRequestHandler Handler Perl Script (PL) Error Code 0x00000000 Requested URL http://localhost:80/hello.pl Physical Path C:\inetpub\wwwroot\hello.pl Logon Method Anonymous Logon User Anonymous and here is my Perl script: #!/usr/bin/perl print "Hello World.\n";

    Read the article

  • Lazy Loading with Ninject

    - by devlife
    I'm evaluating ninject2 but can't seem to figure out how to do lazy loading other than through the kernel. From what I can see that kind of defeats the purpose of using the [Inject] attributes. Is it possible to use the InjectAttribute but get lazy loading? I'd hate to force complete construction of an object graph every time I instantiated an object.

    Read the article

  • online MBA or MASTER studying

    - by Hussein Belal
    Hi all, would you please advice me to the best universities for online studying, I have graduated form Economic college and I really want to complete my high studying but the problem I can't since I am already working and there is no possibility to stop working for studying. thanks in advance.

    Read the article

  • Accessing updated M2M fields in overriden save() in django's admin

    - by Jonathan
    I'd like to use the user updated values of a ManyToManyField in a model's overriden save() method when I save an instance in admin. It turns out that by design, django does not update the M2M field before calling save(), but only after the save() is complete as part of the form save... How can I access the new values of this field in the override save() ?

    Read the article

  • WPF Animation Duration

    - by Allen Ho
    I have a storyboard like the following Duration="0:0:1" Completed="DeviceExplorer_Completed" The animation for some reason does not appear to be working linearly. If I change the duration to something like Duration="0:0:0.8" and assign the stroyboard to a MouseEnter event of a button, the animation moves but does not complete for some reason, I move my mouse over the button a few times before it enetually completes... Any ideas why?

    Read the article

  • How to put Java source inside IDE

    - by karikari
    I have a Java program source files, complete with its subdirectories. My problem is, how can I put all of this inside an IDE (ie. Netbeans, Eclipse) , so that I can easily, modify, compile and package it to become a *.jar file.

    Read the article

  • Get methods covered by a unit test

    - by Victor Hurdugaci
    Is is possible to do the following from a Visual Studio 2010 plugin? If yes, how? Run all unittests in solution (with code coverage enabled) Wait for all tests to complete For successfully completed tests: Determine which methods were called during each test (directly by the test or indirectly by the tested methods). What I actually don't know is how to interact with the testing framework...

    Read the article

  • Implementing a recently used or favorites dropdown in JComboBox

    - by Kevin Day
    I am looking for code that will add favorites / MRU type behavior to a JComboBox. I could code this myself, but it sure seems like someone else has probably already done it. I found the following (which looks exactly like what I want, but the source code is nowhere near complete): http://java.sys-con.com/node/36658 Any suggestions? I need to keep this relatively light, so I'd prefer to not use a component that's part of a monolithic widget library, and open source is preferred.

    Read the article

  • changing .emacs to use IronPython.exe and using code completion for IronPython modules ?

    - by KaluSingh Gabbar
    I configured my Emacs for code completion and other help using this link (from another question here on SO). I am a complete newbie to emacs. Can anyone tell me what should I change so it (rope, ropemacs, pymacs, yasnippet etc) picks up symbols of IronPython modules for code completion and snippets. Also I want to map: C-x RET - to invoke IronPython.exe and not Python.exe (any clue on how to do that) PS I am using Emacs with Cygwin on XP machine

    Read the article

< Previous Page | 106 107 108 109 110 111 112 113 114 115 116 117  | Next Page >