FileWriter创建文本文件。
import java.io.*;
/*
FileWriter操作文件
*/
class FileWriterDemo
{
public static void main(String[] args) throws IOException
{
//创建一个FileWriter对象,初始化时就必须要明确被操作的文件,
//这一步就是明确数据要存放的目的地。
FileWriter fw = new FileWriter("demo.txt");
//用父类Write的write()方法,把字符串写入流中。
fw.write("Test String!!!\r\n");
//刷新该流的缓冲:flush()
fw.flush();
//继续增加流...
fw.write("Test String again!!!");
fw.flush();
//关闭流资源,关闭前会刷新一次内部缓冲中的数据。
fw.close();
//关闭流后,流不可继续使用。
}
}
IO异常处理方式。
/*
IO异常处理方式。
*/
import java.io.*;
class FileWriterDemo2
{
public static void main(String[] args)
{
//try外建立引用
FileWriter fw = null;
try
{
fw = new FileWriter("demo.txt");
fw.write("输入字符");
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
//关闭流语句需要try
try
{
//如果流对象创建成功才可以关闭
if(fw!=null)
fw.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
}
}
}
文件的续写:在已有文件的末尾出添加数据。
/*
文件的续写。
*/
import java.io.*;
class FileWriterDemo3
{
public static void main(String[] args)
{
FileWriter fw = null;
try
{
//构造函数中传入true ,不覆盖已有文件,并在已有文件的末尾出添加数据。
fw = new FileWriter("demo.txt",true);
fw.write("\r\n追加字符!");
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
if(fw!=null)
fw.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
}
}
}
文件的全文读取。
/*
文件的全文读取。
*/
import java.io.*;
class FileReaderDemo
{
public static void main(String[] args) throws IOException
{
//创建一个文件读取流对象,和指定名称的文件相关联。
//要保证该文件是已经存在的,如果不存在,会发生FileNotFoundException。
FileReader fr = new FileReader("demo.txt");
//调用读取流的read()方法。
//读取单个字符,返回int,并自动向下读。到达流的末尾返回-1。
int ch = 0;
while ((ch=fr.read())!=-1)
{
System.out.print((char)ch);
}
System.out.println();
}
}
通过字符数组进行文件的读取。
/*
文件的读取第二种方式:
通过字符数组进行读取。
*/
import java.io.*;
class FileReaderDemo2
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("demo.txt");
//定义一个字符数组,用于存储读到的字符。
//该read(char[])返回的是读到的字符个数。一般定义1024的整数倍,2K;
char[] buf = new char[1024];
int num = 0;
if ((num = fr.read(buf)) != -1)
{
System.out.print(new String(buf,0,num));
}
fr.close();
}
}