Java 文件对象到字节数组-android开发
我需要将此文件对象转换为字节数组:Java 文件对象到字节数组-android开发,java,android,file,Java,Android,File,我需要将此文件对象转换为字节数组: File directory=new File(Environment.getExternalStorageDirectory() + ""); (我只需要SD卡上文件夹和文件的名称。) 我已经试过了: byte[] send=null; FileInputStream fis; try { fis = new FileInputStream(directory);
File directory=new File(Environment.getExternalStorageDirectory() + "");
(我只需要SD卡上文件夹和文件的名称。)
我已经试过了:
byte[] send=null;
FileInputStream fis;
try {
fis = new FileInputStream(directory);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int readBytes = 0;
while(readBytes != -1)
{
readBytes = fis.read(buffer);
if(readBytes > 0)
{
bos.write(buffer, 0, readBytes);
}
else
break;
}
byte[] fileData = bos.toByteArray();
send=fileData;
但它返回以下错误:
java.io.FileNotFoundException:/mnt/sdcard(是一个目录)您正在尝试加载目录,就像它是一个文件一样。不是。您希望字节数组的内容是什么
如果要查找目录中的文件列表,请使用。I want make remote file explorer。我需要通过蓝牙将这个文件对象按原样发送到另一部手机(我只能发送字节数组)。为我的错误道歉english@user1681497:文件实际上只知道路径。如果您试图获取其中的文件和文件夹的名称,则需要使用
File.listFiles()
(或仅File.list()
用于字符串。)哦,好的。。。因此,每当用户打开文件夹时,我必须将文件.list()从一部手机发送到另一部手机:(@user1681497:你基本上可以用你自己的自定义格式发送整个文件系统——不过对我来说这听起来是个好主意。也许可以将文件名的完整结构作为递归树结构发送,并单独调用以获取文件内容。文件实现可序列化,因此可能会有所帮助。