javaIo流小记

JavaIO流总结

一、File常用方法

创建文件目录

1、创建file对象,File file=new File(“目录”);

2、通过file对象创建目录file.mkdir();返回boolean是否创建成功

 

创建文件

3、创建file对象,File file=new File(“文件名”);

4、通过file对象创建文件file.creatNewFile();返回boolean是否创建成功

 

判断文件是否存在并删除

5、创建file对象,File file=new File(“文件名”);

6、通过file对象判断file是否存在file.exists(),返回boolean是否存在

7、存在的话,通过file对象删除文件file.delete();返回boolean是否删除成功

 

判断目录是否存在并删除

8、创建file对象,File file=new File(“目录”);

9、通过file对象判断file是否存在file.exists(),返回boolean是否存在

10、存在的话,通过file对象删除目录file.delete();返回boolean是否删除成功

 

遍历目录

11、创建file对象,File file=new File(“目录”);

12、通过file获取所有的目录对象file.listFiles();返回File数组

13、遍历File数组

14、判断当前文件对象是不是文件:file.isDirectory(),返回boolean

(fille对象直接打印调用toString返回文件目录)

15、eg:递归打印所有的目录

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

                   Filefile=new File("E:\\java1234.com\\二");

                   getFileList(file);

         }

        

         publicstatic void getFileList(File file){

                   if(file!=null){

                            if(file.isDirectory()){

                                     System.out.println(file);

                                     File[]files=file.listFiles();

                                     if(files.length>0){

                                               for(inti=0;i

二、inputStream常用方法

注意注意:FileInputStream默认的编码是文件的编码,所以在存文件时得注意要存utf-8,不然会乱码

 

把文件流读入内存

1、  创建file对象Filefile=new File(“文件名”);

2、  创建inputStream对象 InputStreaminputStream=new FileInputStream(file);

一次一批读取

(1)读取1024字节,输出读到的字节

1、创建存储字节数组

byte b[]=newbyte[1024];

2、把文件流读取到数组中返回读取到的字节数

int length=inputStream.read(b)

3、关闭输入流

inputStream.close();

4、打印读取的内容:把读取到的字节数转换为String对象

System.out.println(“读取的内容是:”+newString(b,0,length));

 

(2)读取file有效字节的长度并输出

1、获取file对象的字节数的长度并向下转型成int

int fileLength=(int)file.length();

2、创建存储字节数组

byte b[]=newbyte[fileLength];

3、把文件流读取到数组中返回读取到的字节数

int length=inputStream.read(b)

4、关闭输入流

inputStream.close();

5、打印读取的内容:把读取到的字节数转换为String对象

System.out.println(“读取的内容是:”+newString(b));

 

一个字节一个字节读取

1、获取file对象的字节数的长度并向下转型成int

int fileLength=(int)file.length();

2、创建存储字节数组

byte b[]=newbyte[fileLength];

3、定义读取到的字节索引

int index=0;

定义每个被读取到的字节变量

int temp=0;

4、一个字节一个字节读取 

while((temp=inputStream.read())!=-1){

       b[index++]=(byte)temp;

 }

 

4、关闭输入流

inputStream.close();

5、打印读取的内容:把读取到的字节数转换为String对象

System.out.println(“读取的内容是:”+newString(b));

 

三、outputStream常用方法

把内存对象读入硬盘

1、  创建file对象

File file=new File(“文件名”);

2、  创建outputStream对象

OutputStream outputStream=new FileOutputStream(file);

new FileOutputStream(file,true);同一个文件写入时会追加内容

1、创建-需要写入的字符串对象

Stringstr=”你好,我好,大家好”;

2、把字符串转换为字节数组

byte[]b=str.getBytes();

3、读取字节数组到文件中

outPutStream.write(b);

4、关闭输出流

outputStream.close();

 

四、bufferedOutputStream和bufferedInputStream

建立了缓冲区,读取速度加快

1、创建输入流

BufferedInputStream bufferInputStream=new BufferedInputStream(new FileInputStream(“文件名”));

2、一个字节一个字节读取同时写入 

int b=0;

while((b= bufferInputStream.read())!=-1){

                   bufferOutputStream.write(b);

}

bufferInputStream.close();

bufferOutputStream.close();

 

 

 

 

 

五、Reader常用方法

把文件流读入内存

1、  创建file对象

File file=new File(“文件名”);

2、  创建Reader对象

Reader reader=new FileReader (file);

一次一批读取操作的是字符(和inputstream字节读取有所不同)

1、创建存储字节数组

char c[]=newchar[1024];

2、把文件流读取到数组中

int length= reader.read(c)

返回读取到的字符数

3、关闭输入流

reader.close();

4、打印读取的内容:把读取到的字节数转换为String对象

System.out.println(“读取的内容是:”+newString(c,0,length));

 

一个字节一个字节读取

1、  创建file对象

File file=new File(“文件名”);

2、  创建Reader对象

Reader reader=new FileReader (file);

3、创建存储字节数组

char c[]=newchar[1024];

4、 

int index=0;inttemp=0; while((temp=reader.read())!=-1){

     c[index++]=(char)temp;

}

 

5、关闭输入流

reader.close();

6、打印读取的内容:把读取到的字节数转换为String对象

System.out.println(“读取的内容是:”+newString(c,0, index));

 

六、Writer常用方法

把文件流读入内存

1、创建file对象

File file=new File(“文件名”);

2、创建Reader对象

Writer out=new FileWriter (file);

Writer out=new FileWriter (file,true);后面添加

3、写入

out.write(“爱我中华”);

4、

out.close();

 

你可能感兴趣的:(javaIo流小记)