本文目录一览:
如何用java获取网络文件的大小
import java.net.*;
import java.io.*;
public class URLConnectionDemo{
public static void main(String[] args)throws Exception{
URL url = new URL("");
URLConnection uc = url.openConnection();
String fileName = uc.getHeaderField(6);
fileName = URLDecoder.decode(fileName.substring(fileName.indexOf("filename=")+9),"UTF-8");
System.out.println("文件名为:"+fileName);
System.out.println("文件大小:"+(uc.getContentLength()/1024)+"KB");
String path = "D:"+File.separator+fileName;
FileOutputStream os = new FileOutputStream(path);
InputStream is = uc.getInputStream();
byte[] b = new byte[1024];
int len = 0;
while((len=is.read(b))!=-1){
os.write(b,0,len);
}
os.close();
is.close();
System.out.println("下载成功,文件保存在:"+path);
}
}
Java 判断文件大小
public static void main(String[] args) {
File file = new File("D:/201709201336160.05V");
getFileSize(file);
}
/**
* 获取文件大小
* @param file
*/
public static void getFileSize(File file) {
FileInputStream fis = null;
try {
if(file.exists() file.isFile()){
String fileName = file.getName();
fis = new FileInputStream(file);
System.out.println("文件"+fileName+"的大小是:"+fis.available()+"\n");
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(null!=fis){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
这个可以判断大小 输出的是byte 你转化一下MB就行了
用java代码如何查看本地一个文件的大小
public static void getFileSize(String path){
//传入文件路径
File file = new File(path);
//测试此文件是否存在
if(file.exists()){
//如果是文件夹
//这里只检测了文件夹中第一层 如果有需要 可以继续递归检测
if(file.isDirectory()){
int size = 0;
for(File zf : file.listFiles()){
if(zf.isDirectory()) continue;
size += zf.length();
}
System.out.println("文件夹 "+file.getName()+" Size: "+(size/1024f)+"kb");
}else{
System.out.println(file.getName()+" Size: "+(file.length()/1024f)+"kb");
}
//如果文件不存在
}else{
System.out.println("此文件不存在");
}
}
java对文件读写操作,文件大小有限制么
你如果是要一次读完一个文件的话,应该会有大小限制。
一般情况下,打比方,你有个100MB的文件,你并不是一次读完,而是分块,10MB一次的读取,所以文件大小不会有限制。
java如何一个文件按1g化分
1、读写并行。源文件大小为:8G,太大,不能一次性读入内存,很大可能出现oom;
2、单线程读源文件,多线程写文件。原因:磁盘读快于磁盘写,且多线程读取文件的复杂度较大,舍弃;
3、使用字符流按行读取和写入,以满足‘数据是完整行’的需求;
4、通过比较读入源文件字节数和实际写入字节数是否相等来检查文件拆分写入是否成功。
5、写操作的多线程使用普通的ThreadPoolExcutor 或者 ForkJoinPool。