Java 读写文件的三种流介绍
来源:互联网 发布:打死不看右下角软件 编辑:程序博客网 时间:2024/05/22 08:20
FileOutputStream和FileInputStream
第一种是FileOutputStream和FileInputStream,一些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,则此类中的构造方法将失败。FileOutputStream是适用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用 FileWriter。下面例子来源网络摘录:
[java] view plaincopyprint?import java.util.*;
import java.io.*;
public class fileoutputstreamtest
{
public static void main(String[] args) throws IOException
{
File file1 = new File("FileIn&OutputStreamTest.txt");
FileOutputStream output = new FileOutputStream("FileIn&OutputStreamTest.txt");
output.write(1);
output.flush();
output.close();
FileInputStream input = new FileInputStream("FileIn&OutputStreamTest.txt");
int a = input.read();
System.out.println(a);
input.close();
}
}
import java.util.*;
import java.io.*;
public class fileoutputstreamtest
{
public static void main(String[] args) throws IOException
{
File file1 = new File("FileIn&OutputStreamTest.txt");
FileOutputStream output = new FileOutputStream("FileIn&OutputStreamTest.txt");
output.write(1);
output.flush();
output.close();
FileInputStream input = new FileInputStream("FileIn&OutputStreamTest.txt");
int a = input.read();
System.out.println(a);
input.close();
}
}
FileWriter和FileReader
第二种即FileWriter和FileReader,是字符流,因为没有缓冲器所以是一个比较慢的读写文件类,下面代码来源于网络
[java] view plaincopyprint?import java.util.*;
import java.io.*;
public class FileReader_Writer
{
public static void main(String[] args) throws IOException
{
File file2 = new File("FileRead&Write.txt");
FileWriter fw = new FileWriter("FileRead&Write.txt");
char str1[] = "Test the FileReader & FileWriter".toCharArray();
fw.write(str1);
fw.flush();
fw.close();
FileReader fr = new FileReader("FileRead&Write.txt");
int n = 0;
while((n = fr.read(str1,0,2))!=-1)
{
String str2 = new String(str1,0,n);
System.out.print(str2);
}
}
因为FileReader和FileWriter是字符流,在没有缓冲器的情况下要使用字符串的形式进行读写,会有乱码错误出现。其实FileReader和BufferedReader可以一起使用,它们一起出现的话读文件的速度会很快,至少比没有缓冲的FileReader快很多。下面代码来源于网络:
import java.io.*;
public class FileReader_Writer
{
public static void main(String[] args) throws IOException
{
File file2 = new File("FileRead&Write.txt");
FileWriter fw = new FileWriter("FileRead&Write.txt");
String str1 = "Test the FileReader & FileWriter";
fw.write(str1);
fw.flush();
fw.close();
FileReader fr = new FileReader("FileRead&Write.txt");
BufferedReader br = new BufferedReader(fr);
String str2 = br.readLine();
System.out.println(str2);
}
}
BufferedReader和BufferedWriter
第三种读写方式即BufferedReader和BufferedWriter,BufferedReader会一次性从物理流中读取8k(默认数值,可以自己进行设置和更改)字节内容到内存,如果外界有请求,就会到这里存取,如果内存里没有才到物理流里再去读。因为对物理流的每次读取,都会伴有IO操作而且IO操作是最耗费时间的。,BufferedReader就是减少了大量IO操作,而为你节省了时间。所以大家尽管用这种文件读写方法吧!
- Java 读写文件的三种流介绍
- Java文件的读写
- java文件的读写
- java文件的读写
- java的文件读写
- java的文件读写
- java文件的读写
- java文件读写类及其用法介绍
- 【JAVA】Java文件的读写
- Java读写文件的例子
- java 文件的读写,追加
- Java Properties文件的读写
- Java的文件读写操作
- java 基本的文件读写
- Java的文件读写操作
- JAVA 文件的读写操作
- Java Proeprties文件的读写
- java properties文件的读写
- Linux系统分区为LVM格式的挂载方法
- 3个错误non-zero exit value 1; non-zero exit value 2
- bzoj 2039 人员雇佣【最小割】
- ant非法字符:\65279 错误
- Android平台语言支持状态
- Java 读写文件的三种流介绍
- git 官方教程(原文)gittutorial(7) Manual Page
- Win10无故自动重启解决方法
- Hadoop伪分布式模式安装部署
- const在c与c++中的不同地位
- Spring源码分析——AOP实现(2)
- 三角函数
- jstl标签中的fn与fmt标签的用法
- 移动端自定义提示框