FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名。创建FileInputStream对象实例时,指定的文件应该是存在和可读的,创建FileOutputStream实例对象时,如果指定的文件已经存在,这个文件中的原来内容就会被覆盖。
对于一个磁盘文件来创建FileInputStream类的Stream对象可以有下面两种方式:
(1)FileInputStream fis = new FileInputStream("test.txt");
(2)File f = new File("test.txt");
FileInputStream fis = new FileInputStream(f);
第二种可以对test文件进行很多的File类的操作,比如判断是否存在,是否可写等等。这是File那篇文章里面的内容。
创建一个FileOutputStream实例对象的时候,可以指定还不存在的文件名,但是不能指定一个被其它程序打开的文件。
下面来看一个例子:用FileOutputStream类向文件中写入一个串字符,然后用FileInputStream读出写入的内容。
import java.io.*;
public class FileStream {
public static void main(String[] args) throws Exception{
FileOutputStream out = new FileOutputStream("test.txt");
out.write("www.cublog.com".getBytes());//读取字符串,write()不能直接读取字符串,所以只能转换成字节数
out.close();//关闭输入文件对象
byte[] buf = new byte[1024];
File f = new File("test.txt");
FileInputStream in = new FileInputStream(f);
int len = in.read(buf);//取文件的长度
System.out.println(new String(buf,0,len));
in.close();
}
}
Reader类和Writer类:
java中的字符是采用Unicode编码的,是双字节的。上面的FileInputStream和FileOutputStream都是用来处理字节的,在处理上面的字符串的时候需要把字符串转换成字节以后再写入到文件,在读取字符串的时候也是先读到的字节数组,然后再将它转换成为字符串的。这就需要编写额外的字节与字符之间转换的代码。java中专门有一个单独的类用来对IO设备进行字符的输入和输出,例如刚才的例子就可以用FileReader和FileWriter。
Reader类和Writer类专门用于文本文件的读取,而InputStream和OutputStream则是用于对二进制格式文件的内容读取
由于上面的例子是文本文件,所以可以用FileReader和FileWriter类来改写一下:
import java.io.*;
public class FileStream {
public static void main(String[] args) throws Exception{
FileWriter out = new FileWriter("test.txt");
out.write("www.cublog.com");
out.close();
char[] buf = new char[1024];
FileReader in = new FileReader("test.txt");
int len = in.read(buf);
System.out.println(new String(buf,0,len));
in.close();
}
}
分享到:
相关推荐
IO中FileIuputSream和FileOutputStream的简单用法,首先要知道的是,这两个都是字节流,所以声明数组的时候是byte类型,有的同学可能写的时候会不注意写成Byte,这样写是错的,因为Byte是byte的一个实现类,所以要...
`FileInputStream`和`FileOutputStream`是Java.io包下的核心类,它们分别代表了文件输入流和文件输出流。这两个类用于对文件进行字节级别的读写操作,适用于处理任何类型的二进制数据,如图片、音频、视频文件等。 ...
FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等:用于进行文件和流的输入输出操作,可以读取、写入文件和处理数据流。 字符串处理类: String、StringBuffer、StringBuilder等:用于处理...
* 字节流文件移动和读取:通过FileInputStream和FileOutputStream类可以实现文件的移动和读取操作。 * 字符流文件移动和读取:通过FileReader和FileWriter类可以实现文本文件的移动和读取操作。 6. 文件读取和存盘...
- **字节文件操作流**:FileInputStream和FileOutputStream是最基础的字节文件操作流,分别用于读取和写入文件。它们是低级流,直接与文件系统交互,效率相对较低。 - **字节缓冲流**:BufferedInputStream和...
3. **节点流**: 直接连接到文件等数据源的低级流,如上所述的`FileInputStream`、`FileOutputStream`、`FileReader`和`FileWriter`等。 4. **过滤流**: 包装其他流以增加额外的功能,如: - `BufferedReader`: 对`...
4. **节点流**:FileInputStream和FileOutputStream用于处理文件的字节输入和输出,而FileReader和FileWriter处理字符的输入和输出。FileOutputStream在构造时可设置第二个参数为true,实现追加模式。 5. **缓冲流*...
FileInputStream 和 FileOutputStream 是 Java IO 中的节点流,用于读写文件。 1. 构造方法 FileInputStream 和 FileOutputStream 都有多个构造方法,可以根据需要选择合适的构造方法。 2. 主要方法 ...
在学习过程中,务必理解并熟练掌握上述知识点,通过实例练习来巩固,如使用FileInputStream和FileOutputStream读写文件,以及使用BufferedInputStream和BufferedOutputStream优化文件操作。在处理异常时,要正确使用...
虽然FileInputStream主要用于读取原始字节,但可以通过组合使用,将FileInputStream作为ObjectInputStream的输入源,或者将ObjectOutputStream的数据输出到FileOutputStream,来处理序列化和反序列化的文件操作。...
然后,我们使用 FileInputStream 和 FileOutputStream 创建了输入流和输出流对象,并对文件执行读取和写入操作。最后,我们使用 close() 方法关闭了输入流和输出流对象。 在 Java 中,文件 IO 流操作是非常重要的,...
- FileInputStream和FileOutputStream:这是处理文件的字节输入流和输出流,常用于文件的读写操作。 - InputStream和OutputStream:它们是所有字节输入流和输出流的抽象基类,提供基本的读写操作方法。 - ...
- 文件的复制:可以使用FileInputStream和FileOutputStream配合BufferedInputStream和BufferedOutputStream实现高效复制。 - 文件的追加:使用FileWriter的append方法。 - 数据的序列化和反序列化:通过...
例如,FileInputStream和FileOutputStream分别代表文件的输入流和输出流,用于读写文件。 其次,根据处理的数据类型,IO流又分为字节流和字符流。字节流处理原始的8位字节数据,如FileInputStream和...
1. FileInputStream和FileOutputStream:这两个类是最基本的文件操作类,用于读取和写入文件。FileInputStream从文件中读取字节,而FileOutputStream将字节写入文件。例如,要复制一个文件,我们可以创建一个...
- FileInputStream和FileOutputStream:直接与文件系统交互,读写文件。 - FileReader和FileWriter:专为文本文件设计,处理字符编码。 5. 对象的序列化和反序列化: - Java对象可以通过实现Serializable接口来...
InputStream和OutputStream是所有字节输入流和输出流的基类,包括FileInputStream、FileOutputStream、ObjectInputStream和ObjectOutputStream等子类,分别用于读取和写入文件、序列化和反序列化对象等。 2. 字符流...
9. 文件复制:在Java中,文件复制通常使用FileInputStream和FileOutputStream配合BufferedInputStream和BufferedOutputStream实现,通过循环读取和写入,实现高效的数据迁移。 10. 异常处理:在进行IO操作时,需要...
java7 ...FileInputStream和FileOutputStream是什么? 这是在拷贝文件操作的时候,经常用的两个类。在处理小文件的时候,它们的性能还不错,在大文件是最好使用BufferedInputStream(或BufferedReader)和B
1. FileInputStream和FileOutputStream:分别用于读取和写入文件,是字节流的节点流。例如: ```java FileInputStream fis = new FileInputStream("input.txt"); FileOutputStream fos = new FileOutputStream(...