java对文件读写 *** 作,文件大小有限制么

java对文件读写 *** 作,文件大小有限制么,第1张

你如果是要一次读完一个文件的话,应仿缺乎该会有大小限制。

一般情况下,打比方,你有个100MB的文扮耐件,你并不是一次读完,而是分块,10MB一次的读取备悉,所以文件大小不会有限制。

1.不是必须的。

但创建字节数组,可提高对文件的 读取效率字节数组起到一个缓存的作用

2, 大小不可随意。

1. 大小不可超过64M,因为JVM默认的虚拟机大小就是64M//也没人这么干

2. 最好取1024的整数倍 //因为文件都精确到KB

于大的文件可用1024*1024为大小//1M

3.先宴握竖得到文件的大小,再用赋值皮前数组大小与之相等即可,但文件不能过大。(我忘了这方法....)

更新后:

当前晌大的流 *** 作java都提供了自带的缓冲区

eg: BufferedReader、BufferedWrite、BufferedOutputStream、BufferedInputStream

使用这些就都不需要用字节数组

而BufferedReader中有一个readLine()方法,可一次读取一行效率还可以

其中的某些方法还具有跨平台性

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text mlcharset=windows-31j">

<title>Insert title here</title>

<script type="text/javascript">

var isIE = /msie/i.test(navigator.userAgent) &&!window.opera

var sizeLabel = ["B", "KB", "MB", "GB"]

function fileChange(target) {

var fileSize = 0

if (isIE &&!target.files) {

var filePath = target.value

var fileSystem = new ActiveXObject("Scripting.FileSystemObject")

var file = fileSystem.GetFile (filePath)

fileSize = file.Size

} else {

fileSize = target.files[0].size

}

displayFileSize(fileSize)

}

function displayFileSize(size) {

var fileSize = document.getElementById("fileSize")

fileSize.innerHTML = calFileSize(size)

}

function calFileSize(size) {

for (var index = 0index <sizeLabel.lengthindex++) {

if (size <1024) {

return round(size, 2) + sizeLabel[index]

}

size = size / 1024

}

return round(size, 2) + sizeLabel[index]

}

function round(number, count) {

return Math.round(number * Math.pow(10, count)) / Math.pow(10, count)

}

</script>

</head>

<body>

<div>

<input type="file" onchange="fileChange(this)">

</div>

<div id="fileSize">

</div>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12281108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存