「java取大小」java 获取对象大小

博主:adminadmin 2022-12-14 16:24:08 75

本篇文章给大家谈谈java取大小,以及java 获取对象大小对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用java获取网络文件的大小

try{

System.out.println("正在链接URL");

url=new URL("");

HttpURLConnection urlcon=(HttpURLConnection)url.openConnection();

//根据响应获取文件大小

fileLength=urlcon.getContentLength();

if(urlcon.getResponseCode()=400){

System.out.println("服务器响应错误");

System.exit(-1);

}

if(fileLength=0)

System.out.println("无法获知文件大小");

//打印信息

printMIME(urlcon);

System.out.println("文件大小为"+fileLength/1024+"K");

//获取文件名

String trueurl=urlcon.getURL().toString();

String filename=trueurl.substring(trueurl.lastIndexOf('/')+1);

fileOut=new File("D://",filename);

}

catch(MalformedURLException e){

System.err.println(e);

}

catch(IOException e){

System.err.println(e);

}

java中,比较两个数的大小 返回给主方法

代码如下:

package test;

import java.util.Scanner;

public class Test {

/**

 * 比较两个数的大小并返回较大的值

 * 既然没说整型还是浮点型,那就用浮点型了,浮点型范围大

 */

public static void getBig(double a,double b){

if(ab){

System.out.println(a);

}else if(ba){

System.out.println(b);

}else{

System.out.println("a和b一样大!");

System.out.println(a);

}

}

public static void main(String[] args) {

System.out.println("请输入两个数:");

//创建Scanner对象,并用a和b保存输入的两个数,注意导入相应的包

Scanner input = new Scanner(System.in);

double a = input.nextDouble();

double b = input.nextDouble();

//调用比较大小的方法

//这里我把方法用static修饰方便直接调用,而不用再去创建类的对象了

getBig(a,b);

//注意关闭输入流

input.close();

}

}

Android的java怎么获取文件大小?

android中的java获取文件大小的方法:

import java.io.File;

import java.io.FileInputStream;

import java.io.FileReader;

import java.io.IOException;

public class FileContent {

private String path = "F:\\下载说明.txt";

public FileContent() throws IOException

{

File f = new File(path);

FileReader fileReader = new FileReader(f);

BufferedReader br = new BufferedReader(fileReader);

String str;

while((str = br.readLine() ) != null)

{

System.out.println(str);

}

System.out.println(new FileInputStream(new File(path)).available() / 1024 / 1024 +"M");

}

public static void main(String[] args) {

try {

new FileContent();

} catch (IOException e) {

e.printStackTrace();

}

}

}

怎么确定Java对象的大小

普通对象的结构如下,按64位机器的长度计算

1. 对象头(_mark), 8个字节

2. Oop指针,如果是32G内存以下的,默认开启对象指针压缩,4个字节

3. 数据区

4.Padding(内存对齐),按照8的倍数对齐

数组对象结构是

1. 对象头(_mark), 8个字节

2. Oop指针,如果是32G内存以下的,默认开启对象指针压缩,4个字节

3. 数组长度,4个字节

4. 数据区

5. Padding(内存对齐),按照8的倍数对齐

清楚了对象在内存的基本布局后,咱们说两种计算Java对象大小的方法

1. 通过java.lang.instrument.Instrumentation的getObjectSize(obj)直接获取对象的大小

2. 通过sun.misc.Unsafe对象的objectFieldOffset(field)等方法结合反射来计算对象的大小

java.lang.instrument.Instrumentation.getObjectSize()的方式

先讲讲java.lang.instrument.Instrumentation.getObjectSize()的方式,这种方法得到的是Shallow Size,即遇到引用时,只计算引用的长度,不计算所引用的对象的实际大小。如果要计算所引用对象的实际大小,可以通过递归的方式去计算。

java.lang.instrument.Instrumentation的实例必须通过指定javaagent的方式才能获得,具体的步骤如下:

1. 定义一个类,提供一个premain方法: public static void premain(String agentArgs, Instrumentation instP)

2. 创建META-INF/MANIFEST.MF文件,内容是指定PreMain的类是哪个: Premain-Class: sizeof.ObjectShallowSize

3. 把这个类打成jar,然后用java -javaagent XXXX.jar XXX.main的方式执行

有兴趣可以看下博主的:

java怎么获取inputstream的大小

据指定文件创建FileInputStream,调用available方法返回文件大小,容量为byte

File file = new File("d:\hello.gif");

FileInputStream fis = null;

try{

fis = new FileInputStream(file);

System.out.println("文件size:"+String.valueOf(fis.available()/1000)+"k");

}catch(IOException e1){

System.out.println("IO出错!");

}

}catch(FileNotFoundException e2){

System.out.println("找不到指定文件");

}

java开发中如何获取远程文件的大小

/*

只说思路:

从依据目标地址,建立资源定位器URL

从资源定位器中,获取连接器对象HttpURLConnection或者Connection

进行连接(省略掉了请求头..就不在写了...)

获取状态码,确保链接正常,进行判断,如果正确,证明链接可行就向下继续

获取链接后的文件大小,字节单位:方法有两个,区别一个是int类型,一个是long类型

long是1.7后加入的!

int conLeng = 连接器.getContentLength();

long conleng=连接器.getContentLengthLong();

*/

关于java取大小和java 获取对象大小的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-14,除非注明,否则均为首码项目网原创文章,转载请注明出处。