Java和C#输入输出流的方法(详解)

时间:2021-05-20

1,Java中操作方法:

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(); } } 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#中操作方法:

/* - - - - - - - - - - - - - - - - - - - - - - - - * 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#输入输出流的方法(详解)全部内容了,希望大家多多支持~

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章