javax.activation.DataSource大小问题

标签 java datasource filesize

如何获取 DataSource 消耗的物理内存量(具体来说 - ByteArrayDataSource )?我使用 javax.mail.util.ByteArrayDataSource (byte[] bytes, String type) 构造函数,其中我得到如下所示的字节:

String str = "test";
byte[] bytes = str.getBytes();

那是str.length()(以字节为单位)吗?还有其他想法吗?

最佳答案

str.length() 将给出字符数

bytes.length 将给出实际的字节数。

根据您的 Activity 字符集,这可能相同也可能不同。有些字符被编码为多个字节。

示例:

public static void main(String[] args) {
    String s1 = "test";
    byte[] b1 = s1.getBytes();
    System.out.println(s1.length());
    System.out.println(b1.length);

    String s2 = "\u0177";
    byte[] b2 = s1.getBytes();
    System.out.println(s2.length());
    System.out.println(b2.length);

}

返回

4 4 1 4

关于javax.activation.DataSource大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957145/

相关文章:

另一个面板上的 Java 透明面板

java - Spring security Role 无法转换为授权权限

c# - 在绑定(bind)到数据源的组合框上设置 SelectedItem

grails - Grails:当我重新编译文件时(使用数据源时)服务器崩溃

java - Crystal Report - 使用 ResultSet 的主报表中的子报表

.net - 对缩小 PDF 文件有什么建议吗?

html - 循环 HTML5 背景的最佳文件大小是多少?

java - 永远在后台运行服务

java - 使用 Timer 类 - 即使之前的工作没有完成,我如何才能让预定的工作按计划开始?

c# - 计算字符串在不将其保存到磁盘的情况下占用的磁盘空间