1,Java中操作方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.io.*; public class FileInputStreamTest { public static void main(String[] args) throws IOException { //创建字节输入流 FileInputStream fis = new FileInputStream( "FileInputStreamTest.java" ); //创建一个长度为1024的竹筒 byte [] bbuf = new byte [ 1024 ]; //用于保存实际读取的字节数 int hasRead = 0 ; //使用循环来重复“取水”的过程 while ((hasRead = fis.read(bbuf))> 0 ) { //取出"竹筒"中(字节),将字节数组转成字符串输入 System.out.println( new String(bbuf, 0 ,hasRead)); } fis.close(); } } |
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
|
import java.io.*; public class FileReaderTest { public static void main(String[] args) throws IOException { FileReader fr = null ; try { //创建字符输入流 fr = new FileReader( "FileReaderTest.java" ); //创建一个长度为32的"竹筒" char [] cbuf = new char [32]; //用于保存实际读取的字符数 int hasRead = 0; //使用循环来重复“取水”的过程 while ((hasRead = fr.read(cbuf))>0) { //取出"竹筒"中(字节),将字节数组转成字符串输入 System. out .println( new String(cbuf,0,hasRead)); } } catch (IOException ioe) { ioe.printStackTrace(); } finally { //关闭文件输入流 if (fr != null ) { fr.close(); } } } } |
2,C#中操作方法:
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
|
/* - - - - - - - - - - - - - - - - - - - - - - - - * Stream 和 byte[] 之间的转换 * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 将 Stream 转成 byte[] /// </summary> public byte [] StreamToBytes(Stream stream) { byte [] bytes = new byte [stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); return bytes; } /// <summary> /// 将 byte[] 转成 Stream /// </summary> public Stream BytesToStream( byte [] bytes) { Stream stream = new MemoryStream(bytes); return stream; } /* - - - - - - - - - - - - - - - - - - - - - - - - * Stream 和 文件之间的转换 * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 将 Stream 写入文件 /// </summary> public void StreamToFile(Stream stream, string fileName) { // 把 Stream 转换成 byte[] byte [] bytes = new byte [stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); // 把 byte[] 写入文件 FileStream fs = new FileStream(fileName, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(bytes); bw.Close(); fs.Close(); } /// <summary> /// 从文件读取 Stream /// </summary> public Stream FileToStream( string fileName) { // 打开文件 FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); // 读取文件的 byte[] byte [] bytes = new byte [fileStream.Length]; fileStream.Read(bytes, 0, bytes.Length); fileStream.Close(); // 把 byte[] 转换成 Stream Stream stream = new MemoryStream(bytes); return stream; } |
以上就是小编为大家带来的Java和C#输入输出流的方法(详解)全部内容了,希望大家多多支持服务器之家~