📄 testfilereadwrite.java
字号:
package ForTest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
public class TestFileReadWrite {
public static void main(String[] args) {
try {
//*****字节流*****//
/*
* public class FileOutputStream extends OutputStream
* FileOutputStream 用于写入诸如图像数据之类的原始字节的流。
*/
//把内容写入文件
File f1=new File("io/sun.txt");
f1.createNewFile();
FileOutputStream fos=new FileOutputStream(f1);
byte[] b=new byte[11];
b[0]='l'; b[1]=' '; b[2]='a';
b[3]='m'; b[4]=' '; b[5]='h';
b[6]='a'; b[7]='p'; b[8]='p';
b[9]='y'; b[10]='!';
fos.write(b);
/*
* public class FileInputStream extends InputStreamFileInputStream
* 从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。
* FileInputStream 用于读取诸如图像数据之类的原始字节流。
*/
//从文件读出内容
System.out.println("文件sun.txt的内容:");
FileInputStream fis=new FileInputStream(f1);
byte[] a=new byte[11];
fis.read(a);
for(int i=0;i<11;i++){
System.out.print((char)a[i]);
}
System.out.println("\n======================");
//******字符流*****//
//把内容写入文件
File f2=new File("io/moon.txt");
f2.createNewFile();
FileWriter fw=new FileWriter(f2);
fw.write("I am happy! \n我很高兴!\n");
fw.flush(); //从缓冲区写入文件
char[] c=new char[6];
c[0]='F'; c[1]='r'; c[2]='i'; c[3]='e'; c[4]='n'; c[5]='d';
fw.write(c);
fw.flush();
fw.write(',');
fw.flush();
fw.write(" Let us fly our hopes! \n朋友,让我们放飞希望吧!\n");
fw.flush();
//从文件读出内容
System.out.println("\n文件moon.txt的内容:");
FileReader fr=new FileReader(f2);
char[] d=new char[100];
fr.read(d);
for(int i=0;i<d.length;i++){
if(d[i]=='\0')break;
System.out.print(d[i]);
}
System.out.println("======================");
//把TestFileReadWrite.java的内容写入TestFileReadWrite.txt中。
System.out.println("TestFileReadWrite.java的内容:");
BufferedReader br=new BufferedReader(new FileReader("io/TestFileReadWrite.java"));
FileWriter fw1=new FileWriter("io/TestFileReadWrite.txt",true);
String eachLine;
while((eachLine=br.readLine())!=null){
System.out.println(eachLine);
fw1.write(eachLine+"\n");
}
br.close();
fw1.close();
System.out.println("======================");
/*public class RandomAccessFile extends Objectimplements DataOutput, DataInput, Closeable
*此类的实例支持对随机存取文件的读取和写入。
*随机存取文件的行为类似存储在文件系统中的一个大型字节数组。
*/
System.out.println("\n文件sky.txt的内容:");
File f3=new File("ForTest/sky.txt");
f3.createNewFile();
RandomAccessFile raf=new RandomAccessFile(f3, "rw"); //"r"、"rw"、"rws" 或 "rwd"
raf.writeChars("I can learn Java well."); //如果写入中文会如何?
raf.writeChar('\r');
raf.writeBytes("I can learn Java well.");
raf.seek(0);
String firstLine=raf.readLine();
System.out.println("第一行: "+firstLine);
String secondLine=raf.readLine();
System.out.println("第二行: "+secondLine);
String thirdLine=raf.readLine();
System.out.println("第三行: "+thirdLine);
System.out.println("文件长度: "+raf.length()+"个字节");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -