第八章java.io包

来源:互联网 发布:哪个软件可以软件搬家 编辑:程序博客网 时间:2024/05/15 00:50
 

 

javaio包包括对文件和目录属性的操作,对文件读写的操作等。

File file =new File(“Test.txt”);

是构造一个文件对象。

File对象即可表示文件,也可以表示目录。

file.exists();   //判断文件或目录是否存在

file.isFile();        //判断是否是文件

file.isDiretory();      、、判断是否是目录

file.getName();         、、获取文件或目录的名字

file.getPath();         、、获取文件或目录的路径

filegetAbsolutePath();   、、获取文件的绝对路径

file.lastModified();       、、获取文件或目录的最后修改日期

file.length();            、、获取文件或目录的大小单位为字节

流:是指一连串流动的字符,是以先进先出的方式发送和接收数据的通道,流分为输入流和输出流。是相对程序而言的。

分字节流和字符流。

字节流是以8位通用字节流,其基本单位是字节。

字符流是16Unicode字符流这种流的基本单位是Unicode字符。

InputStreamOutputStream.都是字节流。

UnicodeReader是字符流。

 

FileInputStream

 

输入流是将文件中的数据输入到内存中。它是一个字节输入流InputStream抽象类的一个子类。

构造一个文件输入流对象。

FileInputStream 读文本文件

InputStream fileobject=new FileInputStream(“text.txt”);

fileobject.available();  //可读取的字节数

fileobject.read();     //读取文件的数据

关闭文件输入流对象。

fileobject.close();

public static void main(String[] args) throws IOException {

        int size;

        InputStream fileobject = new FileInputStream(args[0] );

        System.out.println(“可取读的字节数: "

            + (size = fileobject.available()));

        char[] text = new char[200] ;

        for (int count = 0; count < size; count++) {

            text[count] = ((char) fileobject.read());

            System.out.print(text[count]);

        }

        System.out.println("");

        fileobject.close();

    }

 

利用字节流类FileOutputStream写文本文件

文件输出流它的作用是把数据存储到文件中去。它是OutputStream抽象类下的一个子类。我们可以利用它把内存中的数据写入到文本文件中去,

构造一个文件输出流对象。

OutputStream抽象类下的一个子类。

OutputStream fos=new FileOutputStream(“Text.txt”);

利用文件输出流的方法把数据写入到文本文件中去

String str=”好好学习Java”;

byte[]words=str.getBytes();

fos.write(words,0,words.length);  //利用write方法将数据写入到文件中去。

关闭文件输出流

fos.close();

 

利用字符流类BufferedReaderFileReader读文本文件

BufferedReaderFileReader两个类都是Reader抽象类下的子类。它们都可以通过字符流的方式读取文件,并使用缓冲区,提高了读文本文件的效率。

构造一个BufferedReader对象。

FileTeader fr=new FileReader(“mytest.txt”);

BufferedReader br=new BufferedReader(fr);

利用BufferedTeader的方法读取文本文件的数据。

br.readLine();    //读取一行数据,返回字符串。

关闭相关的流对象。

br.close();

fr.close();

利用字符流类BufferedWriterFileWriter写文本文件

都是Writer抽象类下的子类。通过它们可以字符流的方式并通过缓冲区把数据写入文本文件,这也提高了写文本文件的效率。

引入相关的类

import java.io.FileWriter;

import java.io.BufferedWriter;

import java.io.IOException;

构造一个BufferedWriter对象。

FileWriter fw=new FileWriter(“mytest.txt”);

BufferedWriter bw=new BufferedWriter(fw);

利用BufferedWriter对象

bw.write(“hello”);

相关流对象的清空和关闭

bw.flush();

fw.close();

二进制文件的读写

利用字节流类DataInputStream读二进制文件

引入相关类。

import java.io.FileInputStream;

import java.io.DataInputStream;

构造一个数据输入流对象。

FileInputStream fis=new FileInputStream(“HelloWorld.class”);

DateInputStream dis=new DataInputStream(fis);

利用数据输入流类的方法读取二进制文件的数据。

dis.readint();      //读取出来的是整数。

dis.readByte();    //读取出来的数据是Byte类型。

关闭数据输入流。

dis.close();    //关闭数据输入流。

利用字节流类DataOutputStream写二进制文件

引入相关的类。

import java.io.FileOutputStream;

import java.io.DataOutputStream;

构造一个数据输出流对象。

FileOutputStream outFile=new FileOutputStream(“temp.class”);

DataOutputStream out=new DataOutputStream(outFile);

利用数据输出流类的方法写二进制文件的数据。

out.write(1);   //把数据写入二进制文件。

关闭数据输出流。

out.close();