GithubHelp home page GithubHelp logo

Comments (2)

KhunHtetzNaing avatar KhunHtetzNaing commented on July 30, 2024 2

It's will affect process time, because of some sites need to get content length manual.
So if you want to get the size of a file, you can check like this

private void checkFileSize(XModel xModel){
        new AsyncTask<Void,Void,String>(){
            @Override
            protected String doInBackground(Void... voids) {
                if (xModel.getUrl()!=null) {
                    try {
                        URLConnection connection = new URL(xModel.getUrl()).openConnection();
                        if (xModel.getCookie() != null) {
                            connection.setRequestProperty("Cookie", xModel.getCookie());
                        }
                        connection.connect();
                        return calculateFileSize(connection.getContentLength());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                return null;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                if(s!=null){
                    //Your file size => 
                    System.out.println("File Size=> "+s);
                }
            }
        }.execute();
    }

    private String calculateFileSize(long size) {
        if(size <= 0) return "0";
        final String[] units = new String[] { "B", "kB", "MB", "GB", "TB" };
        int digitGroups = (int) (Math.log10(size)/Math.log10(1024));
        return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups];
    }

from xgetter.

lwinmoehein avatar lwinmoehein commented on July 30, 2024

I worked fine bro,thanks a lot ,it's really helpful

from xgetter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.