比较Java中的图像大小(KB)

比较Java中的图像大小(KB),java,filesize,Java,Filesize,我正在使用一个api,它给了我一个图像的大小,比如200KB(也可以是MBs)。现在我需要对低于特定大小的图像执行一些操作。我试图实现的是这样的目标: String imgSize = img.getSize(); if(imgSize < 250KB) { // Do Something } String imgSize=img.getSize(); 如果(imgSize

我正在使用一个api,它给了我一个图像的大小,比如200KB(也可以是MBs)。现在我需要对低于特定大小的图像执行一些操作。我试图实现的是这样的目标:

String imgSize = img.getSize();
if(imgSize < 250KB) {
  // Do Something
}
String imgSize=img.getSize();
如果(imgSize<250KB){
//做点什么
}
我不能在这里使用关系运算符。实现这一目标的最佳方法是什么?

请查看:

imgSize.endsWith("KB");
用正则表达式提取数字并相应地相乘。

检查:

imgSize.endsWith("KB");

用正则表达式提取数字并相应相乘。

确定
imgSize
的单位是KB还是MB。如果以MB为单位,则将其转换为KB并使用它

String imgSize = "";
int imgSizeKB = 0;

switch (imgSize.toUpperCase()) {
    case "KB":
        imgSizeKB = (Integer.parseInt(imgSize.split("KB")[0]));
        break;
    case "MB":
        imgSizeKB = (Integer.parseInt(imgSize.split("MB")[0]) * 1024);
        break;
}

if(imgSizeKB < 250){
    // Do Something
}
String imgSize=“”;
int imgSizeKB=0;
开关(imgSize.toUpperCase()){
案例“KB”:
imgSizeKB=(Integer.parseInt(imgSize.split(“KB”)[0]);
打破
案例“MB”:
imgSizeKB=(Integer.parseInt(imgSize.split(“MB”)[0])*1024);
打破
}
如果(imgSizeKB<250){
//做点什么
}

现在,您可以使用
if
语句,因为
imgSizeKB
int
确定
imgSize
是KB还是MB。如果以MB为单位,则将其转换为KB并使用它

String imgSize = "";
int imgSizeKB = 0;

switch (imgSize.toUpperCase()) {
    case "KB":
        imgSizeKB = (Integer.parseInt(imgSize.split("KB")[0]));
        break;
    case "MB":
        imgSizeKB = (Integer.parseInt(imgSize.split("MB")[0]) * 1024);
        break;
}

if(imgSizeKB < 250){
    // Do Something
}
String imgSize=“”;
int imgSizeKB=0;
开关(imgSize.toUpperCase()){
案例“KB”:
imgSizeKB=(Integer.parseInt(imgSize.split(“KB”)[0]);
打破
案例“MB”:
imgSizeKB=(Integer.parseInt(imgSize.split(“MB”)[0])*1024);
打破
}
如果(imgSizeKB<250){
//做点什么
}

现在,您可以使用
语句,因为
imgSizeKB
int

除了前面的答案之外,您还可以这样做。将大小转换为以字节为单位的大小,然后使用
Integer.parseInt(字符串s)
获取可以检查的
int

String bytes = size.replace("KB", "000").replace("MB", "000000");

if (Integer.parseInt(bytes) <= 250000) {
    //Do something.
}
String bytes=size.replace(“KB”,“000”).replace(“MB”,“000000”);

如果(Integer.parseInt(bytes)除了前面的答案之外,您还可以执行类似操作。将大小转换为以字节为单位的大小,然后使用
Integer.parseInt(String s)
获取一个
int
值,您可以进行检查

String bytes = size.replace("KB", "000").replace("MB", "000000");

if (Integer.parseInt(bytes) <= 250000) {
    //Do something.
}
String bytes=size.replace(“KB”,“000”).replace(“MB”,“000000”);

if(整数.parseInt(字节)@Riaan,如果我得到的图像大小为90.52KB,那么该场景是否有效。那么它将是90.52000。Thanks@VivekDhiman-不,如果你有分数,你必须使用另一种方法。@VivekDhiman-当然。这与其他答案所建议的类似。@Rian,如果我得到的是9号的图像,这种情况会发生吗0.52KB。那么它将是90.52000。Thanks@VivekDhiman-不,如果你有分数,你必须使用另一种方法。@VivekDhiman-当然。这与其他答案所建议的类似。