IO流-文件的写入和读取

时间:2023-03-09 09:26:08
IO流-文件的写入和读取

1、文件写入

类:

  FileWriter继承自Writer(字符流基类之一,另外一个为Reader)

方法:

  writer(参数); 根据参数可以写入字符、字符数组、字符数组中的一部分、整型、字符串、字符串中的一部分,抛IOException

  flush(); 刷新内存,把内存中的字符流写入文件

  close(); 刷新内存并关闭字符输入流,抛出IOException

import java.io.*;

class Test
{
public static void main(String[] args)
{
//这是在jdk1.7引入的可以隐性的调用close()方法,FileWriter在创建时抛出IOException
try(FileWriter fileWriter = new FileWriter("Test.txt"))
{
fileWriter.write("你好");
}
catch(Exception e)
{
e.printStackTrace();
} }
}
/*这是不用新方式写,很繁琐
FileWriter fileWriter = null;
try()
{
fileWriter = new FileWriter("Test.txt");
fileWriter.write("你好");
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try()
{
fileWriter.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
*/

注:FileWriter在创建时,若文件存在,创建同名空文件覆盖之,若不存在创建,若想添加的话用一下构造方法

  FileWriter fileWriter = new FileWriter("文件名", ture);  设定添加为true

2、文件读取

类:

  FileReader 继承自Reader, java.io包

方法:

  read(参数); 可以读取一个字符,也可以读取字符数组,也可以读取字符数组的一部分

  close(); 关闭字符输入流

代码举例:

class Test
{
public static void main(String[] args)
{
   //FileReader构造方法创建一个与所读取文件关联的一个字符输入流
try(FileReader fileReader = new FileReader("Test.txt"))
{
char[] charFile = new char[1024];
int charNum = fileReader.read(charFile);
System.out.print(new String(charFile, 0, charNum));
}
catch(IOException e)
{
e.printStackTrace();
}
}
}