如何在JTextField中显示附加文件的大小

时间:2015-01-25 21:09:56

标签: java netbeans

如何在JTextField中显示我从JFileChooser中选择的文件的大小?当我使用f.getTotalSpace()时,我会看到我的PC的总磁盘空间,这不是我想要的。

private void jButtonAttachActionPerformed(java.awt.event.ActionEvent evt) {                                              
    JFileChooser jc = new JFileChooser();
    jc.setDialogType(JFileChooser.OPEN_DIALOG);
    jc.showOpenDialog(null);
    File f = jc.getSelectedFile();

    if (f.length() / 1024 < 1024) {
        jTextFieldAttachments.setText(f.getName() + " " + "(" + f.length() / 1024 + " KB)");
    }
    else if (f.length() / 1024 >= 1024) {
        jTextFieldAttachments.setText(f.getName() + " " + "(" + f.length() / 1048576 + " MB)");
    }
}

**EDIT by @RoeyGolzarpoor**

        if (f.length() / 1024 <= 1024) {
            jTextFieldAttachments.setText(f.getName() + " " + "(" + String.format("%.1f", (f.length() / 1024)) + " KB)");
        }
        else if (f.length() / 1024 > 1024) {
            jTextFieldAttachments.setText(f.getName() + " " + "(" + String.format("%.1f", (f.length() / 1048576)) + " MB)");
        }

错误 error

1 个答案:

答案 0 :(得分:2)

使用:

float kilo_bytes f.length()/1024; 
Float.parseFloat(String.format("%.1f", kilo_bytes));

这将在KB

中返回您的文件

提醒:
1024字节= 1千字节
1024 kb = 1兆字节
1024 mb = 1 Gega Bytes
1024 gb = 1 Tera Bytes