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();
}
}
}