JAVA IO流之文件输入输出流
程序员文章站
2022-03-13 17:11:23
...
流
首先说一下什么是流, 流是封装数据,字节或字符有序序列的一类对象,它能够使计算机在输入输出信息时保证信息的完整与安全。
输入流
Java输入流是指程序从外部介质或其它程序读入内存所需要的数据,通常称为输入源。
输出流
Java输出流是指程序在处理数据之后,将处理数据输出到外部介质或传递给其他程序的数据序列。
字节流
以单个字节为单位对数据进行读写操作。(InputStream类和OutputStream类)
字符流
以字符(两个字节)为单位对数据进行读写操作。(Reader类和Writer类)
文件输入流(FileInputStream与FileReader)
这里是将这个程序本身的文件读到程序。
(字节流FileInputStream)
import java.io.*;
public class T_Io {
public static void main(String[] args) {
int b = 0;
FileInputStream in = null;
try {
in = new FileInputStream("C:/Users/acer/eclipse-workspace/Ob/src/T_Io.java");
}catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("找不到指定文件");
System.exit(-1);
}
try {
long num = 0;
while((b=in.read()) !=-1) {
System.out.print((char)b);
num ++;
}
in.close();
System.out.println();
System.out.println("共提取了"+num+"个字节");
}catch (IOException e) {
System.out.println("文件提取错误");
}
}
}
(字符流FileReader)
把rong.txt这个文件读到程序上
import java.io.*;
public class T_FileReader {
public static void main(String[] args) {
int a = 0;
FileReader ff = null;
try {
ff = new FileReader("C:/h/rong.txt");
while((a = ff.read())!=-1) {
System.out.print((char)a);
}
}catch (FileNotFoundException e) {
System.out.println("找不到该文件!");
}catch (IOException e) {
System.out.println("hh");
}
System.out.println(ff.markSupported());
}
}
文件输出流(FileoutputStream)
将T_IO.java中的数据复制到rong.txt
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class T_FileoutStream {
public static void main(String[] args) throws IOException {
int b = 0;
FileInputStream nn = null;
FileOutputStream out = null;
try {
nn = new FileInputStream("C:/Users/acer/eclipse-workspace/Ob/src/T_Io.java");
out = new FileOutputStream("C:/h/rong.txt");
while((b = nn.read()) !=-1) {
out.write(b);
}
nn.close();
out.close();
}catch (Exception e) {
e.getMessage();
}
}
}
(字符流 FileWriter)
向language.txt这个文件中写如50000个字符,相当于把全世界所有的语言文字包含再内
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class T_Writer {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("c:/h/language.txt");
for(int c = 0; c<50000; c++) {
fw.write(c);
}
fw.close();
}catch (IOException e) {
System.out.println("文件写入错误");
System.exit(-1);
}
}
}
上一篇: ViewModel