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");
}
}
分享到:
相关推荐
* io流 运用 * 注意:只要子类 包含以下类名字的,就是该流的继承 * InputStream----- ... * Reader-------- 输入字符流 * OutputStream-----输出字节流 * Writer --------输出字符流
在UWP(Universal Windows Platform)应用开发中,StreamSocket是一个重要的网络通信类,它提供了基于TCP和UDP协议的流式套接字通信功能。StreamSocket是Windows.Networking.Sockets命名空间的一部分,为开发者提供...
XLSX Write Stream库 XLSX Write Stream是XLSX电子表格的流作家。...// Initialize the writer const xlsxWriter = new XLSXWriteStream ( ) ; // Set input stream. Input stream needs to implement Stream.Reada
StreamWriter writer = new StreamWriter(stream); StreamWriter reader = new StreamReader(stream); writer.WriteLine("发送的数据"); writer.Flush(); string receivedData = reader.ReadLine(); ``` 在示例`...
Dim reader As New StreamReader(stream) Dim writer As New StreamWriter(stream) ' 业务逻辑,例如读取客户端发送的数据并回应 Dim message As String = reader.ReadLine() Console.WriteLine("Received: " ...
Dim reader As New StreamReader(stream) Dim writer As New StreamWriter(stream) writer.WriteLine("欢迎连接!") writer.Flush() ' 读取客户端发来的数据并回应 Dim message As String = reader.ReadLine()...
- **字符流**:字符流处理的是字符数据,基于字节流进行编码解码,包括`Reader`和`Writer`两大类。`FileReader`和`FileWriter`则是字符流的典型应用,适用于读写文本文件。 2. **转换流** - **字节流转字符流**:...
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 ...
Stream则常用于文件的读写,比如`InputStream`和`OutputStream`用于读写二进制数据,`Reader`和`Writer`用于读写文本数据。 2. 数据序列化与反序列化:在游戏中,为了保存复杂的数据结构(如对象状态),通常需要将...
它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与writer实现. commons-beanutils.jar: 提供对Java 反射和自省API的...
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....
StreamReader reader = new StreamReader(stream); string message = reader.ReadLine(); ``` 6. **向客户端发送数据**: 使用`StreamWriter`或`BinaryWriter`写入数据。 ```csharp StreamWriter writer = new ...
涵盖流的概念、流的层次结构、标准输入输出、File类、FileInputStream类和FileOutputStream类、DataInputStream类和DataOutputStream类、随机访问文件、Reader类和Writer类、IOException类的几个子类等知识点。...
Java 的 IO 体系分 Input/Output 和 Reader/Writer 两类,区别在于 Reader/Writer 在读写文本时能自动转换内码。 InputStream 是 Java 中的基础输入流,所有的输入操作都是基于这个流的。OutputStream 是 Java 中的...
在Java中,IO流的类主要分布在`java.io`包下,包括`InputStream`、`OutputStream`、`Reader`和`Writer`这四个抽象基类。它们各自有一系列的子类,例如`FileInputStream`、`FileOutputStream`用于文件操作,`...
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 IO 包含了字节流(InputStream 和 OutputStream)和字符流(Reader 和 Writer),分别用于处理二进制数据和文本数据。字节流适用于所有类型的数据,而字符流则更适用于处理字符编码的数据,如文本文件。 以下...
StreamWriter writer = new StreamWriter(stream); StreamWriter reader = new StreamReader(stream); string message = reader.ReadLine(); writer.WriteLine("Hello, Client!"); writer.Flush(); client.Close(); ...
BinaryWriter writer = new BinaryWriter(stream); writer.Write(plcAddress); // PLC地址通常以字符串形式表示 writer.Write(bytes.Length); writer.Write(bytes); } ``` 5. **处理响应**:发送数据后,我们...
public void WriteXml(System.Xml.XmlWriter writer) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); foreach (TKey...