Java获取下载文件的大小

Java获取下载文件的大小,第1张

可以直接通过>

用InputStream打开该文件

InputStream in =new FileInputStream("sdftxt");

int size=inavailable()

得到了size就是你该文件的字节数

import javaio;

import javautilzip;

/

  @author Hardneedl

 /

public class ZipEntriesDemo {

    public static void main(String args) throws IOException {

        ZipInputStream zipIn = new ZipInputStream(new FileInputStream(args[0]));

        ZipEntry zipEntry;

        while ( (zipEntry = zipIngetNextEntry()) != null ) {

            zipIncloseEntry();

            if (!zipEntryisDirectory()) {

                String name = zipEntrygetName();

                long size = zipEntrygetSize();

                long compd = zipEntrygetCompressedSize();

                Systemoutprintf("%s , size=%d, compressed size=%d\r\n", name, size, compd);

            }

        }

        zipInclose();

    }

}

// 查看copy例子即可。

import javaawtBorderLayout;

import javaawtCursor;

import javaawtToolkit;

import javaawteventActionEvent;

import javaawteventActionListener;

import javabeansPropertyChangeEvent;

import javabeansPropertyChangeListener;

import javaioFile;

import javaioFileInputStream;

import javaioFileOutputStream;

import javaioInputStream;

import javaioOutputStream;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJProgressBar;

import javaxswingSwingWorker;

public class Bar extends JFrame implements PropertyChangeListener

{

private static final long serialVersionUID = 1L;

private static final int MIN = 0;

private static final int MAX = 100;

private JProgressBar progressBar;

private JButton copy;

private Task task;

public Bar(String title)

{

setTitle(title);

setLayout(new BorderLayout());

progressBar = new JProgressBar(MIN, MAX);

progressBarsetValue(MIN);

progressBarsetStringPainted(true);

add(progressBar, BorderLayoutCENTER);

copy = new JButton("拷贝");

copyaddActionListener(new ActionListener()

{

@Override

public void actionPerformed(ActionEvent e)

{

start();

copysetEnabled(false);

}

});

add(copy, BorderLayoutEAST);

}

class Task extends SwingWorker<Void, Void>

{

@Override

public Void doInBackground()

{

setProgress(MIN);

File file = new File("ajpg");

long size = filelength();

byte[] bts = new byte[(int) (size / (Mathrandom()  50 + MAX - 50))];

int length = 0;

long cLength = 0;

try

{

InputStream stream = new FileInputStream(file);

OutputStream os = new FileOutputStream(new File("copy_aajpg"));

while((length = streamread(bts)) > 0)

{

oswrite(bts, 0, length);

cLength += length;

setProgress((int) (cLength  MAX / size));

Threadsleep(30);

}

osflush();

osclose();

streamclose();

}

catch(Exception e)

{

eprintStackTrace();

}

return null;

}

@Override

public void done()

{

setTitle("拷贝完毕");

ToolkitgetDefaultToolkit()beep();

copysetEnabled(true);

setCursor(null);

}

}

public void propertyChange(PropertyChangeEvent evt)

{

if("progress" == evtgetPropertyName())

{

int progress = (Integer) evtgetNewValue();

progressBarsetValue(progress);

}

}

private void start()

{

task = new Task();

taskaddPropertyChangeListener(this);

taskexecute();

setTitle("正在拷贝");

setCursor(CursorgetPredefinedCursor(CursorWAIT_CURSOR));

}

private static void createAndShowGUI()

{

Bar frame = new Bar("Bar");

framesetAlwaysOnTop(true);

framesetSize(280, 60);

framesetResizable(false);

framesetLocationRelativeTo(null);

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

framesetVisible(true);

}

public static void main(String[] args)

{

javaxswingSwingUtilitiesinvokeLater(new Runnable()

{

public void run()

{

createAndShowGUI();

}

});

}

}

public static void main(String[] args) {

File file = new File("aaaxls");

Systemoutprintln("文件大小:"+filelength());

}

有一种叫jspsmartupload的包用来简化文件上传下载的编写

里面可以获取文件大小

//取得文件

comjspsmartuploadFile myFile = mySmartUploadgetFiles()getFile(0);

//取得文件名

String fileName = myFilegetFileName();

//取得文件大小

int fileSize = myFilegetSize();

这是基于spring架构的上传文件支持多个文件上传,拿到file对象后,直接filesize()就可以获取文件的大小,

if (request instanceof Multipart>

以上就是关于Java获取下载文件的大小全部的内容,包括:Java获取下载文件的大小、JAVA怎么获得指定文件夹里面的文件名和文件大小,并且将结果导出成为一个TXT文件、java 怎么获取上传文件的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9527627.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存