Java.io读写文件方式汇总
在Java编程中,经常需要对文件进行读写操作,这时候就需要使用Java IO类库中提供的读写文件的方法。本文将会综合常用的文件读写方式,详细介绍其用法和适用场景。
1. FileInputStream/FileOutputStream
FileInputStream
和FileOutputStream
是用来读写二进制文件的基本工具,它们包含在java.io包中。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileStreamDemo {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream(new File("input.txt"));
FileOutputStream fos = new FileOutputStream(new File("output.txt"));
byte[] buf = new byte[1024];
int len;
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);
}
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. FileReader/FileWriter
FileReader
和FileWriter
类用于读写文本文件,它们是基于字符的读写工具,需要使用Reader
和Writer
类的打开方式。
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReaderWriterDemo {
public static void main(String[] args) {
try {
FileReader reader = new FileReader(new File("input.txt"));
FileWriter writer = new FileWriter(new File("output.txt"));
char[] cbuf = new char[1024];
int len;
while ((len = reader.read(cbuf)) != -1) {
writer.write(cbuf, 0, len);
}
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
示例1:将input.txt文件内容复制到output.txt中。
示例2:统计input.txt文件中单词的个数。
3. BufferedReader/BufferedWriter
BufferedReader
和BufferedWriter
是用于读写文本文件的缓冲流,可以提高I/O的效率。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedReaderWriterDemo {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader(new File("input.txt")));
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("output.txt")));
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
示例1:将input.txt文件按行读取并输出到控制台。
示例2:将input.txt文件中所有的小写字母转化为大写字母,并输出到output.txt文件中。
4. DataInputStream/DataOutputStream
DataInputStream
和DataOutputStream
是用来读写Java基本数据类型的工具,如:int、float、double和boolean。
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataInputStreamOutputStreamDemo {
public static void main(String[] args) throws IOException {
DataOutputStream dos = new DataOutputStream(new FileOutputStream(new File("data.dat")));
for (int i = 0; i < 10; i++) {
dos.writeInt(i);
dos.writeDouble(2.0 * i);
}
dos.close();
DataInputStream dis = new DataInputStream(new FileInputStream(new File("data.dat")));
for (int i = 0; i < 10; i++) {
int n = dis.readInt();
double d = dis.readDouble();
System.out.printf("%d %f\n", n, d);
}
dis.close();
}
}
以上就是Java.io读写文件方式汇总的详细攻略。希望能对Java编程爱好者有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA.io读写文件方式汇总 - Python技术站