Java中File和byte怎么互转,可以介绍几种做法么

关键是byte转File的做法

第1个回答  推荐于2018-04-14
try {
File file=new File(path);
if(file!=null){
FileInputStream fis=new FileInputStream (file);
if(fis!=null){
int len=fis.available();
byte[] xml=new byte[len];
fis.read(xml);
//现在file中的内容全读到了byte[]数组中
//如果文件中是文本信息那么: String str=new String(xml,"utf-8");就可以得到文字内容
}
}

} catch (Exception e) {}

反过来,由byte[]转成file也是一样啊,不过FileInputStream 要改成FileOutputStream就可以了,另外read()改成write就可以了
如 FileOutputStream fos=new FileOutputStream (file);
fos.write(...);
flash();

.....

另外,如果你写入的是文字,可以先将文字转成byte[]
String str="XXXXXX";
byte[] bytes=str.getBytes("utf-8");
再将bytes写入file本回答被提问者和网友采纳

Java中File和byte怎么互转,可以介绍几种做法么
byte[] xml=new byte[len];fis.read(xml);\/\/现在file中的内容全读到了byte[]数组中 \/\/如果文件中是文本信息那么: String str=new String(xml,"utf-8");就可以得到文字内容 } } } catch (Exception e) {} 反过来,由byte[]转成file也是一样啊,不过FileInputStream 要改成FileOutputStream...

java中如何把一个文件转化为byte数组?
import java.io.File;\\x0d\\x0a\\x0d\\x0aimport java.io.FileInputStream;\\x0d\\x0a\\x0d\\x0aimport java.io.IOException;\\x0d\\x0a\\x0d\\x0aimport java.io.InputStream;\\x0d\\x0a\\x0d\\x0apublic class Test {\\x0d\\x0a\\x0d\\x0a public static void main(String[] arg...

java中如何将一个字节数组转化为byte数组
首先,最直接的方法是使用InputStream.read(byte[] b, int off, int len),这个方法会读取指定数量的字节到指定的byte数组中。例如:byte[] bytes = new byte[1024];int bytesRead = in.read(bytes);if (bytesRead != -1) { \/\/ bytesRead now holds the number of bytes read } 另一种...

java中File文件读取的区别和用法
InputStreamReader可以将读如stream转换成字符流方式,是reader和stream之间的桥梁.Reader类及其子类提供的字符流的读取char(16位,unicode编码),inputStream及其子类提供字节流的读取byte(8位),所以FileReader类是将文件按字符流的方式读取,FileInputStream则按字节流的方式读取文件;FileInputStream以字节为...

java里,如何将bytes数据输出,写入文件中,使之成为一个图像数据?_百度...
首先,你上面的 byte[] 数据应该已经是图片数据,这里假设 byte[] 里面的是 jpg 图片的字节,做法如下:FileOutputStream fos = new FileOutputStream(new File("D:\/test.jpg"));fos.write(b);fos.flush();fos.close();

请问java输入流中当文件大于byte数组长度的时候,该如何循环读取?_百度...
byte[] data = new byte[1024];int len = fis.read(data);\/\/循环将文件fileText.txt中的内容读取到字节数组中StringBuilder sb = new StringBuilder();sb.append(new String(data, 0, len));while (len != -1) { len = fis.read(data); if (len != -1) { sb.append(new...

java 里面的string 和byte 怎么互转
2.byte[]转string String isoString = new String(bytes,"ISO-8859-1");String srt2=new String(midbytes,"UTF-8");说明:在网络传输或其它应用中常常有同一的中间件,假设为String类型。因此需要把其它类型的数据转换为中间件的类型。将字符串进行网络传输时,如socket,需要将其在转换为byte[]...

java使用byte数组,通过FileInputStream读取文件时出现的bug
因为FileInputStream这个类的read方法返回的是一个整型值。不好操作 建议你这么写:BufferedReader br = new BufferedReader(new FileReader("test.txt"));String xml = "";StringBuilder total = new StringBuilder("");byte[] b = new byte[1024];while ((xml = br.readLine())!=null) { ...

Java多种文件复制方式以及效率比较
遍历的5种方法有:复制的8种方法有:另外,作者不太想看控制台,所以配合了一点Swing使用。遍历的具体方法如下:1. listFiles():通过srcFile的listFiles()获取所有的子文件与子文件夹,然后判断是否是目录。2. list():与listFiles()类似,不过是String[],也是先判断目录,创建目录,不是目录直接复制...

JAVA中byte类型的介绍。 谢谢
理解此运算规则我们正式开始说byte,byte正好是8位的二进制数。short是16位 int是32位 long是64位。上述代码,最后会输出-56。原因如下:200的二进制表示是111001000,由于int是32位的二进制,所以在计算机中,实际上是00000000000……111001000,当int转成byte的时候,那么计算机会只保留最后8位,即...

相似回答