6.3 File o 文件对象的建立 ■ File fp= new file(“ tempfile. txt”); 对文件操作要定义文件流 Filelnputstream类用来打开一个输入文件 Fileoutputstream类用来打开一个输出文件 write 输出文件 输入文件red
11 输出文件 输入文件 read write 6.3 File I/O n 文件对象的建立 n File fp=new File(“tempfile.txt”); n 对文件操作要定义文件流 n FileInputStream类用来打开一个输入文件 n FileOutputStream类用来打开一个输出文件
12 6.3 File o 文件流的建立 a FileInputstream in=new Filelnputstream(fp); Fileoutputstream out=new FileOutputstream(fp) 例文件拷贝(注意要捕获文件异常) 输入流的参数是用于输入的文件名 ■输出流的参数是用于输出的文件名 filel. txt file2. txt 输入流输出流
12 6.3 File I/O n 文件流的建立 n FileInputStream in=new FileInputStream(fp); n FileOutputStream out=new FileOutputStream(fp); n 例:文件拷贝(注意要捕获文件异常) n 输入流的参数是用于输入的文件名 n 输出流的参数是用于输出的文件名 file1.txt file2.txt 输入流 输出流
mport java.10. *9 class filestream i public static void main(String args i try File in File=new File(filel. txt; File outFile=new file(file2. txt); Filelnputstream fis=new FileInputstream(in File); FileOutputstream fos=new Fileoutputstream(outFile); int c; while((c=fis reado)=-1) fos. write(c); fis. close(; fos. closed )catch(FileNot FoundException e)i System. out printIn("FilestreamsTest: +e); )catch(IOException e)i System. err printIn( FilestreamsTest: +e)
13 6.3 File I/O import java.io. *; class filestream { public static void main(String args[]) { try{ File inFile=new File(”file1.txt"); File outFile=new File(”file2.txt"); FileInputStream fis=new FileInputStream(inFile); FileOutputStream fos=new FileOutputStream(outFile); int c; while((c=fis.read())!=-1) fos.write(c); fis.close(); fos.close(); }catch(FileNotFoundException e) { System.out.println("FileStreamsTest: "+e); }catch(IOException e) { System.err.println("FileStreamsTest: "+e); }}}
6.3 File o 增加缓冲区流减少访问硬盘的次数提高效率 filel. txt→输入缓冲区→输出缓冲区 file2. txt 输入流 输出流 文件 文件流 缓冲区流
14 6.3 File I/O n 增加缓冲区流,减少访问硬盘的次数,提高效率 文件 文件流 缓冲区流 file1.txt file2.txt 输入流 输出流 输入缓冲区 输出缓冲区
15 6.3 File o 缓冲区流: BufferedInputstrean和 BufferedOutputstream ■将它们与文件流相接 Filelnputstream in=new FileInputstream(“ filel.txt”); BufferedInputstream bin new BufferedInputStream(in, 256) a int len; byte barrayllnew byte 256] a len=bin. read(array); nlen中得到是长度, aRray中得到的是数据
15 6.3 File I/O n 缓冲区流: n BufferedInputStream和 BufferedOutputStream n 将它们与文件流相接 n FileInputStream in=new n FileInputStream(“file1.txt”); n BufferedInputStream bin= n new BufferedInputStream(in,256) n int len; byte bArray[]=new byte[256]; n len=bin.read(bArray); n len中得到是长度, bArray中得到的是数据