OutputStream和InputStream实例
import java.io.File;
import java.io.OutputStream;
import java.io.FileOutputStream;
public class OutputStreamDemo03
{
public static void main(String args[]) throws Exception{
File file = new File( "H:"+File.separator+"programTest"+File.separator+"IO"+File.separator+"字符流与字符流"+File.separator+"test.txt");
OutputStream out = null;
out = new FileOutputStream(file,true); //是否追加
String str = " 新增非覆盖!";
byte[] b = str.getBytes();
for(byte temp:b){
out.write(temp);
}
//out.write(b);
//out.flush();
out.close();
out = new FileOutputStream(file,true); //是否追加
str = " \r\n我是换行的哦!"; // \r\n换行
b = str.getBytes();
for(byte temp:b){
out.write(temp);
}
//out.write(b);
//out.flush();
out.close();
}
};
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
public class InputStreamDemo01
{
public static void main(String args[]) throws Exception{
File file = new File( "H:"+File.separator+"programTest"+File.separator+"IO"+File.separator+"字符流与字符流"+File.separator+"test.txt");
InputStream input = null;
input = new FileInputStream(file); //是否追加
String str = " 新增非覆盖!";
byte[] b = new byte[1024]; //所有内容读到此数组中
input.read(b);
input.close();
System.out.println("读取到的字符串为:"+new String(b));
}
};
//此时内容已读取过来,不过有很多空格,因为b的大小为1024
修改为
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
public class InputStreamDemo01
{
public static void main(String args[]) throws Exception{
File file = new File( "H:"+File.separator+"programTest"+File.separator+"IO"+File.separator+"字符流与字符流"+File.separator+"test.txt");
InputStream input = null;
input = new FileInputStream(file); //是否追加
String str = " 新增非覆盖!";
byte[] b = new byte[1024]; //所有内容读到此数组中
int len = input.read(b);
input.close();
System.out.println("读取到的字符串为:"+new String(b,0,len));
}
};
高效方式
byte[] b = new byte[(int)f.length()]; //开辟文件大小的空间
input.read(b);
input.close();
System.out.println("读取到的字符串为:"+new String(b));
byte[] b = new byte[(int)file.length()]; //所有内容读到此数组中
for(int i=0;i<b.length;i++){
b[i] = (byte)input.read();
}
input.close();
System.out.println("读取到的字符串为:"+new String(b));
带背景字体部分适用于知道文件大小时可用,input.read()读到文件末尾时值为-1,
byte[] b = new byte[(int)f.length()]; //开辟文件大小的空间
int len = 0;
int temp = 0;
while((temp = input.read()) != -1)
{
b[len] = (byte)temp;
len++;
}
input.close();
System.out.println("读取到的字符串为:"+new String(b,0,len));
带横线部分适合于不知道所读内容大小时,通过input.read()读到文件末尾时值为-1进行判断输出
分享到:
相关推荐
首先,我们需要理解`OutputStream`和`InputStream`这两个核心的I/O类。`OutputStream`是用于写出数据到目的地的流,而`InputStream`则是用于读取数据的流。在Java中,它们是Java.io包下的基础类,提供了多种子类来...
通过以上的实例,你可以了解到Java中如何使用`InputStream`、`OutputStream`、`Reader`和`Writer`进行文件读写操作。不断实践这些基本的IO操作,将有助于你更好地理解和掌握Java的文件处理能力。
本教程将聚焦于Java的基础核心,以及两个重要的I/O(输入/输出)流类——InputStream和OutputStream,它们在文件操作中扮演着关键角色。 InputStream和OutputStream是Java.io包下的抽象类,是所有字节流的基类。...
InputStream 和 OutputStream InputStream 是一种输入流,用于读取数据。InputStream 可以用来读取文件、网络数据等。 OutputStream 是一种输出流,用于写入数据。OutputStream 可以用来写入文件、网络数据等。 ...
字节流基类包括InputStream和OutputStream,分别作为读字节流和写字节流的基类。所有字节相关的流都必然继承自他们中任意一个。InputStream和OutputStream都是抽象类,定义了最基本的读写操作。 3. InputStream中的...
在Android平台上进行网络通信时,Socket通信是...在学习和使用这个实例时,可以深入理解TCP连接的建立、数据的封装与解封装,以及Android网络编程的细节。通过实践,你可以更好地掌握这些知识点,并运用到实际项目中。
标签中的"源码"提示我们可能需要深入理解`ServletOutputStream` 和`InputStream` 的内部实现,包括它们如何与网络I/O交互,以及如何处理缓冲区和数据编码等问题。而"工具"可能指的是使用这些流类来构建各种服务器端...
字节流处理的是原始字节,适用于所有类型的数据,包括InputStream、OutputStream、InputStream和OutputStream等类。 在Java IO实例中,文件操作是最常见的应用场景。例如,`File`类用于表示文件和目录路径名的抽象...
在这个实例中,我们将深入探讨如何在Android客户端和Java服务器端实现Socket通信。 首先,让我们理解Socket的基本概念。Socket可以被视为网络上的一个端点,用于两个程序之间的通信。在TCP/IP协议栈中,Socket接口...
实例会介绍InputStream、OutputStream、Reader、Writer等类的使用。 通过这200个实例的实践,你可以逐步建立坚实的Java编程基础,提高问题解决能力,并为更高级的Java应用开发打下坚实的基础。无论你是初学者还是...
Java I/O流用于数据的读写操作,这些实例可能会涵盖文件操作、网络通信等,涉及到InputStream、OutputStream、BufferedReader、PrintWriter等类。 另外,Java还提供了丰富的API,如Swing或JavaFX用于图形用户界面...
实例会教你如何使用InputStream和OutputStream,以及更高级的Reader和Writer类。 6. **多线程**:Java支持多线程编程,实例会演示如何创建和管理线程,以及同步和互斥的概念,这对于开发高性能的应用非常重要。 7....
5. **IO流**:学习如何进行文件读写,输入输出流(InputStream/OutputStream)和字符流(Reader/Writer)的使用,以及缓冲区流(BufferedReader/BuffereedWriter)的优化。 6. **多线程**:Java内置对多线程的支持...
实例将教你如何使用InputStream、OutputStream、Reader、Writer等类进行数据传输。 7. **多线程**:Java内置了对多线程的支持,例如Thread类和Runnable接口。实例将演示如何创建和管理线程,实现并发执行,以及同步...
- 关闭资源:当通信结束时,应关闭Socket、InputStream和OutputStream,避免资源泄漏。 5. **多用户聊天**: - 在"SimpleChatroom"中,服务器端可能有一个消息广播机制,收到任何客户端的消息后,将其广播给所有...
实例可能涵盖FileReader、FileWriter、InputStream和OutputStream等类的用法。 6. **线程编程**:Java内置了多线程支持,实例可能展示如何创建和管理线程,理解同步和互斥的概念,以及使用synchronized关键字和...
InputStream和OutputStream是所有字节流的基类,而Reader和Writer则是字符流的基类。 7. **多线程**:Java内置对多线程的支持,可以通过实现Runnable接口或继承Thread类来创建线程。线程同步机制包括synchronized...
- 流的概念:InputStream和OutputStream用于处理字节流,Reader和Writer处理字符流。 6. **多线程**: - Thread类:创建和管理线程,实现并发执行。 - Synchronized关键字:保证多线程环境下的数据同步和安全性...
6. **输入/输出流**:讨论文件操作,网络通信,以及使用InputStream、OutputStream、Reader、Writer等I/O流进行数据传输。 7. **多线程**:解释线程的创建、同步、协作,以及线程池的使用,以实现高效的并发编程。 ...
6. **输入/输出流**:学习File类、InputStream和OutputStream家族,以及BufferedReader和PrintWriter等用于文件读写的方法。 7. **IO流的高级使用**:掌握对象序列化与反序列化,以及使用FileReader、FileWriter...