gpt4 book ai didi

java - 需要 int 但有问题并发现零字节

转载 作者:行者123 更新时间:2023-12-02 00:41:55 26 4
gpt4 key购买 nike

如何解决这个问题?

    File f=new File("d:/tester.txt");
long size=f.length(); // returns the size in bytes
char buff[]=new char[size]; // line of ERROR
// will not accept long in it's argument
// I can't do the casting (loss of data)

是否可以使用size作为buff的长度而不丢失数据?

如果是,我该如何使用它?

我的第二个问题是:

为什么我没有得到实际的字节数?

这是程序:

import java.io.*;
class tester {
public static void main(String args[]) {
File f=new File("c:/windows/system32/drivers/etc/hosts.File");
long x=f.length(); // returns the number of bytes read from the file
System.out.println("long-> " + x );
}

}

输出是 long-> 0 ,但显然不是这样。为什么我会得到这个结果?

最佳答案

您需要将 long 转换为 int

char buff[]=new char[(int) size];

这仅适用于大小小于 2 GB 的文件。

但是,如果您打算用它来读取文件,也许您的意思是

byte[] buff=new byte[(int) size];

我会看FileUtilsIOUtils来自 Apache Commons IO,它有很多帮助方法。

<小时/>

我怀疑您是否有同名的文件。也许您需要删除末尾的 .File ,这听起来像是一个奇怪的扩展名。

我会首先检查f.exists()

关于java - 需要 int 但有问题并发现零字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6134535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com