zoukankan      html  css  js  c++  java
  • java对文件操作之实用

    创建文件

    package com.pre;
    import java.io.File;
    public class WJ 
    {
      public static void main(String[] args) throws Exception
      {
          File file=new File("D:"+File.separator+"text2.txt");//创建路径下的文件
          if(!file.getParentFile().exists())//如果父路径不存在
          {
              file.getParentFile().mkdirs();//创建父路径
          }
          if(file.exists())//如果文件存在
          {
              file.delete();//删除文件
          }
          else {
              System.out.println(file.createNewFile());//否则创建文件
          }
      }
    }

    列出D盘的所有文件及目录:

    package com.pre;
    import java.io.File;
    public class Pd
    {
        public static void main(String [] args)
        {
            File file=new File("D:"+File.separator);//创建路径
            print(file);
        }
        public static void print(File file)//递归函数依次判断如果为目录,继续执行,如果为文件则输出
        {
            if(file.isDirectory())//如果file为目录
            {
                File rest[]=file.listFiles();//列出目录
                if(rest!=null)//如果目录不为空
                {
                for(int i=0;i<rest.length;i++)
                {
                    print(rest[i]);
                }
                System.out.println(file);
            }
            }
        }
    }

    *if(rest!=null)不能删除,否则报错有空值

    如果把System.out.println(file);改为file.delete();则功能会变为将D盘所有文件删除。

    使用字节流操作文件的读取和写入操作:

    package com.pre;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    public class WJ 
    {
      public static void main(String[] args) throws Exception
      {//首先创建文件的路径
          File file=new File("D:"+File.separator+"text3.txt");
          OutputStream output=new FileOutputStream(file,true);//然后实例化OutputStream类的对象,追加型添加数据
          String str="今天早上真是个好天气
    ";
          byte data[]=str.getBytes();//将String类型转换为byte类型
          output.write(data);//进行写入操作
          output.close();//关闭流
          InputStream input=new FileInputStream(file);//实例化InputStream类的对象
          byte b[]=new byte[1024];//建立数组存储从文件中读取的数据
          int aa=0;//存取每个读取的数据
          int foot=0;//定义索引
         while((aa=input.read())!=-1)//如果文件中的数据没有读取完(返回值不为-1)便转换为byte类型赋值给foot
         {
            b[foot++]=(byte)aa; 
         }
        System.out.println("读取的内容为:【"+new String(b,0,foot)+"】");//输出读取的内容
      }
    }

     使用字符流操作文件的写入和读取操作:

    package com.pre;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.Reader;
    import java.io.Writer;
    public class WJ 
    {
      public static void main(String[] args) throws Exception
      {//首先创建文件的路径
          File file=new File("D:"+File.separator+"text3.txt");
          //向文件写入内容
          if(!file.getParentFile().exists())
          {
              file.getParentFile().mkdirs();
          }
          Writer output=new FileWriter(file,true);
          String aa="今天的天气真好";
          output.write(aa);
          output.close();
          //从文件读取内容
          if(file.exists())
          {
              Reader input=new FileReader(file);
              char bb[]=new char[1024];
              int len=input.read(bb);
              System.out.println("从文件中读取的内容为:【"+new String(bb,0,len)+"】");
              input.close();
          }
      }
    }
  • 相关阅读:
    wap学习记录
    vue router
    webpack 之 缓存处理
    webpack 之 plugin
    webpack 之 loader
    babel实践
    webpack 之 webpack-dev-server自动刷新
    webpack之source map
    vue笔记
    《高性能网站建设指南》笔记
  • 原文地址:https://www.cnblogs.com/lq13035130506/p/10540032.html
Copyright © 2011-2022 走看看