`
dss16694
  • 浏览: 148412 次
社区版块
存档分类
最新评论

stream还是Reader Writer

 
阅读更多

stream是针对byte[]操作,针对于二进制文件操作。

Reader和Writer针对char操作,针对于文本文件操作。默认是用本机的编码方式写char ,如UTF-8和UTF-16和GB2312编码 
Reader和Writer是abstract类,不能直接用,一般用FileReader和FileWriter。 
如果采用具体编码,需要采用OutputStreamWriter。注意OutputStreamWriter的构造函数需要一个OutputStream的实例。 
BufferedReader和BufferedWriter针对普通Reader和Writer进行优化。 

PrintWriter 
另外PrintWriter可以支持一系列的print函数,也支持不同编码方式。 

PrintStream类似PrintWriter,提供了一系列print函数。例如System.out就是PrintStream。

 

编码方式 
OutputStreamWriter和PrintWriter都支持不同编码方式 
FileWriter只支持默认编码方式 

 

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Arrays;

public class MyTest {

	public static void test1() throws IOException {
		FileOutputStream fos = new FileOutputStream("c:\\test.dat");

		byte[] buf = new byte[1024];
		Arrays.fill(buf, (byte) 'a');
		fos.write(buf);
		fos.close();
	}

	public static void test2() throws IOException {
		FileWriter writer = new FileWriter("c:\\test.txt");
		char c = 'A';
		String temp = "test";
		writer.write(c);
		writer.write(temp);
		writer.close();
	}
	
	public static void test3() throws IOException {

		OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(
				"c:\\test.txt"),"utf-8");
		
		writer.append("北京理工大学");
		
		writer.close();
	}	
	
	public static void test4() throws IOException {

		PrintWriter writer = new PrintWriter("c:\\1.txt", "utf-16");
		
		writer.append("北京理工大学");
		
		writer.close();
	}		

	public static void main(String[] args) throws IOException {

		test4();
		System.out.println("OK");
	}
}

 

分享到:
评论

相关推荐

    ioliu.rar_IO流 java_Java Reader Writer_java IO_stream

    * io流 运用 * 注意:只要子类 包含以下类名字的,就是该流的继承 * InputStream----- ... * Reader-------- 输入字符流 * OutputStream-----输出字节流 * Writer --------输出字符流

    UWP开发之StreamSocket 开源 无需资源分

    在UWP(Universal Windows Platform)应用开发中,StreamSocket是一个重要的网络通信类,它提供了基于TCP和UDP协议的流式套接字通信功能。StreamSocket是Windows.Networking.Sockets命名空间的一部分,为开发者提供...

    xlsx-stream:JavaScript Node.js库可将数据流式传输到XLSX文件

    XLSX Write Stream库 XLSX Write Stream是XLSX电子表格的流作家。...// Initialize the writer const xlsxWriter = new XLSXWriteStream ( ) ; // Set input stream. Input stream needs to implement Stream.Reada

    C# TcpListener/TcpClient Demo

    StreamWriter writer = new StreamWriter(stream); StreamWriter reader = new StreamReader(stream); writer.WriteLine("发送的数据"); writer.Flush(); string receivedData = reader.ReadLine(); ``` 在示例`...

    VB.netwangluotongxin.zip_VB.NET TCP_VB.NET TCP通信_tcp_vb.net网络_网络

    Dim reader As New StreamReader(stream) Dim writer As New StreamWriter(stream) ' 业务逻辑,例如读取客户端发送的数据并回应 Dim message As String = reader.ReadLine() Console.WriteLine("Received: " ...

    vb.net实现TCP传输

    Dim reader As New StreamReader(stream) Dim writer As New StreamWriter(stream) writer.WriteLine("欢迎连接!") writer.Flush() ' 读取客户端发来的数据并回应 Dim message As String = reader.ReadLine()...

    Java-IO流/Stream流总结

    - **字符流**:字符流处理的是字符数据,基于字节流进行编码解码,包括`Reader`和`Writer`两大类。`FileReader`和`FileWriter`则是字符流的典型应用,适用于读写文本文件。 2. **转换流** - **字节流转字符流**:...

    labview小车

    1. Specify the IP Address of the reader that will be set in the Network Stream 2. Create the Network stream writer endpoint specifying the current VI as the writer 3. Event Structure performs ...

    安卓Android源码——(游戏保存Stream).rar

    Stream则常用于文件的读写,比如`InputStream`和`OutputStream`用于读写二进制数据,`Reader`和`Writer`用于读写文本数据。 2. 数据序列化与反序列化:在游戏中,为了保存复杂的数据结构(如对象状态),通常需要将...

    ssh常用工具jar包详解(很详细,有源码实例)

    它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与writer实现. commons-beanutils.jar: 提供对Java 反射和自省API的...

    DataSet(DataTable)与XML互转

    writer = new XmlTextWriter(stream, Encoding.Default); xmlDS.WriteXml(writer); // 序列化 int count = (int)stream.Length; byte[] arr = new byte[count]; stream.Seek(0, SeekOrigin.Begin); stream....

    c# tcp socket 服务器 客户端程序

    StreamReader reader = new StreamReader(stream); string message = reader.ReadLine(); ``` 6. **向客户端发送数据**: 使用`StreamWriter`或`BinaryWriter`写入数据。 ```csharp StreamWriter writer = new ...

    B08输入输出及数据库操作ppt课件(全).ppt

    涵盖流的概念、流的层次结构、标准输入输出、File类、FileInputStream类和FileOutputStream类、DataInputStream类和DataOutputStream类、随机访问文件、Reader类和Writer类、IOException类的几个子类等知识点。...

    JavaIO流详解归纳.pdf

    Java 的 IO 体系分 Input/Output 和 Reader/Writer 两类,区别在于 Reader/Writer 在读写文本时能自动转换内码。 InputStream 是 Java 中的基础输入流,所有的输入操作都是基于这个流的。OutputStream 是 Java 中的...

    java IO stream

    在Java中,IO流的类主要分布在`java.io`包下,包括`InputStream`、`OutputStream`、`Reader`和`Writer`这四个抽象基类。它们各自有一系列的子类,例如`FileInputStream`、`FileOutputStream`用于文件操作,`...

    VB2005实现TCP协议编程.pdf

    Dim reader As New StreamReader(stream) Dim writer As New StreamWriter(stream) While True Dim request As String = reader.ReadLine() ' 处理请求... Dim response As String = "Hello, Client!" writer....

    Java Stream、File、IO.pdf

    Java IO 包含了字节流(InputStream 和 OutputStream)和字符流(Reader 和 Writer),分别用于处理二进制数据和文本数据。字节流适用于所有类型的数据,而字符流则更适用于处理字符编码的数据,如文本文件。 以下...

    TCP/IP通信c#例程

    StreamWriter writer = new StreamWriter(stream); StreamWriter reader = new StreamReader(stream); string message = reader.ReadLine(); writer.WriteLine("Hello, Client!"); writer.Flush(); client.Close(); ...

    c#实现西门子PLC单数据测试.rar

    BinaryWriter writer = new BinaryWriter(stream); writer.Write(plcAddress); // PLC地址通常以字符串形式表示 writer.Write(bytes.Length); writer.Write(bytes); } ``` 5. **处理响应**:发送数据后,我们...

    C#自定义可序列化的Dictionary类型

    public void WriteXml(System.Xml.XmlWriter writer) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); foreach (TKey...

Global site tag (gtag.js) - Google Analytics