文件的操作--Java学习笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44494648/article/details/98958544

File类

file类在java.io包中,用于程序与文件的交互。

创建File类

创建一个File对象,不一定存在对应的文件。

File a=new File("文件的路径");//该路径下的文件可以不存在

相关方法

  • 实现文件和文件夹的操作
    createNewFile():创建文件
    delete(): 删除文件
    renameTo():移动文件
    mkdir()和mkdirs():创建文件夹
    delete(): 删除文件夹

  • 获取文件属性
    boolean exists():判断文件或目录是否存在
    String getName():返回文件或目录的名称
    String getParent():返回父路径的路径名字符串
    String getAbsolutePath():返回绝对路径的路径名字符串
    String getPath():返回抽象路径的路径名字符串
    boolean isDirectory():判断当前文件是否为目录
    long length():返回当前文件的长度

文件操作流

. 字符流操作

FileReader/FileWriter

以字符的形式操作文件,当文件为文本文件时,不包含图片,音频,视频等,优先考虑 使用字符流,可以提升效率。在处理图片,音频,视频文件时会出现乱码。

字符流操作

InputStream和OutputStream

用字节操作文件,可以操作所有类型的文件,但效率不如字符流

基本操作

1、字节流:文件的复制

 File f1=new File("E:\\a\\aaaa\\ccc","ss.java");//创建File对象,原文件
  File f2=new File("E:\\a\\aaaa\\ccc\\kk","xx.java");//复制的路径
 FileInputStream is=new FileInputStream(f1);//创建一个字节输入流
 FileOutputStream os=new FileOutputStream(f2);//创建一个字节输出流
 //is.reder()从输入流中读取字节到指定的字节数组中,返回字节数组的长度
  while((len=is.read(tem))!=-1)
    {
    //os.writer()将字节数组中的字节,写入os对应的文件中
        os.write(tem,0,len);
        //也可将数组中的字节转成字符输出
        System.out.printf(new String(tem,0,ken));
    }

2、字符流:

//和上面类似
			FileReader fr=new FileReader(file1);//原文件
            FileWriter fw=new FileWriter(file2);//复制的路径
            char ch[]=new char[5];
            int tmp=-1;
            while((tmp=fr.read(ch))!=-1){
                fw.write(ch,0,tmp);//也可以打印输出
            }
            fw.close();
      

注意

文件读写操作时出现乱码,一般有两种情况,一是字节转字符时,字节数不够,一种是
字符字节转换时编码集使用不统一。

猜你喜欢

转载自blog.csdn.net/weixin_44494648/article/details/98958544
今日推荐