全面了解java byte数组与文件读写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileHelper {
<span style= "white-space:pre" > </span> //第一种获取文件内容方式
public byte [] getContent(String filePath) throws IOException {
File file = new File(filePath);
long fileSize = file.length();
if (fileSize > Integer.MAX_VALUE) {
System.out.println( "file too big..." );
return null ;
}
FileInputStream fi = new FileInputStream(file);
byte [] buffer = new byte [( int ) fileSize];
int offset = 0 ;
int numRead = 0 ;
while (offset < buffer.length
&& (numRead = fi.read(buffer, offset, buffer.length - offset)) >= 0 ) {
offset += numRead;
}
// 确保所有数据均被读取
if (offset != buffer.length) {
throw new IOException( "Could not completely read file "
+ file.getName());
}
fi.close();
return buffer;
}
//第二种获取文件内容方式
public byte [] getContent2(String filePath) throws IOException
{
FileInputStream in= new FileInputStream(filePath);
ByteArrayOutputStream out= new ByteArrayOutputStream( 1024 );
System.out.println( "bytes available:" +in.available());
byte [] temp= new byte [ 1024 ];
int size= 0 ;
while ((size=in.read(temp))!=- 1 )
{
out.write(temp, 0 ,size);
}
in.close();
byte [] bytes=out.toByteArray();
System.out.println( "bytes size got is:" +bytes.length);
return bytes;
}
//将byte数组写入文件
public void createFile(String path, byte [] content) throws IOException {
FileOutputStream fos = new FileOutputStream(path);
fos.write(content);
fos.close();
}
}
|
以上这篇全面了解java byte数组与文件读写就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。