码迷,mamicode.com
首页 > 编程语言 > 详细

java对文件操作之实用

时间:2019-03-15 23:12:43      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:ati   imp   txt   nbsp   写入   字节流   void   throws   文件删除   

创建文件

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="今天早上真是个好天气\r\n";
      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)+"】");//输出读取的内容
  }
}

 

java对文件操作之实用

标签:ati   imp   txt   nbsp   写入   字节流   void   throws   文件删除   

原文地址:https://www.cnblogs.com/lq13035130506/p/10540032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!