FileInputStream类
FileInputStream(文件输入流)类是用来得到文件的输入字节流。大部分方法继承于InputStream类。它的构造方法如下:
FileInputStream(File file)
通过打开一个到实际文件的链接,创建一个文件输入流,参数file是一个文件对象。
FileInputStream(String name)
通过打开一个到实际文件的链接,创建文件输入流,参数name为文件的实际路径。
使用FileInputStream对象打开源程序文件,源程序代码如下:
//程序文件名为UseFileInputStream.java
import java.io.*;
public class UseFileInputStream
{
public static void main(String[] args)
{
byte buf[] = new byte[2056];
try
{
//构造文件输入流
FileInputStream fileIn = new FileInputStream("UseFileInputStream.java");
//存入缓冲buf
int bytes = fileIn.read(buf,0,2056);
String inStr = new String(buf,0,bytes);
//输出文件内容
System.out.println(inStr);
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
};
FileOutputStream类
FileOutputStream(文件输出流)类是将数据写入File或 FileDescriptor对象的输出流。它的方法大都是从OutStream继承来的,其构造方法如下:
FileOutputStream(File file)
创建输出流写到特定的file对象。
FileOutputStream(File file, boolean append)
以追加的方式写入file对象。
FileOutputStream(FileDescriptor fdObj)
创建输出文件流到fdObj对象,代表一个到实际文件的链接。 FileOutputStream(String name)
创建输出流,写到指定的name文件。
FileOutputStream(String name, boolean append)
是否以追加的方式写到指定的name文件。
使用FileOutputStream对象,打开一个文件,写入一行文本,然后追加一行从键盘接收的字符串,源程序代码如下:
//程序文件名为UseFileOutputStream.java
import java.io.*;
public class UseFileOutputStream
{
public static void main(String[] args)
{
byte buf[] = new byte[255];
byte bufIn[] = new byte[255];
try
{
String str = "你好,这是已有的文本";
buf = str.getBytes();
//创建文件输出流对象
FileOutputStream fileOut = new FileOutputStream("Hello.txt");
//写入文件
fileOut.write(buf,0,buf.length);
fileOut.flush();
fileOut.close();
System.out.println("\n请输入一行文本:");
//从键盘接收文本
int bytes = System.in.read(bufIn,0,255);
//追加文本
fileOut = new FileOutputStream("Hello.txt",true);
fileOut.write(bufIn,0,bytes);
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
};