java输入和输出

奉天承运,博主诏曰:

File类

在这里插入图片描述
在这里插入图片描述

代码演示

import java.io.File;
import java.io.IOException;

public class TestFile {
    public static void main(String[] args) {
        File f=new File("a.txt");//主要用路径字符串作为参数
        System.out.println(f.isDirectory());//是不是文件夹
        System.out.println(f.isFile());//是不是文件
        System.out.println(f.length());//长度,1个中文字符3个字节长度
        File f2=new File("test/hello");
        System.out.println(f2.isDirectory());
        System.out.println(f2.length());
        System.out.println(f.getName());
        System.out.println(f2.getName());
        File file=new File("b.txt");//不存在的文件
        System.out.println(file.isFile());
        System.out.println(file.isDirectory());
        //创建文件
        try {
            file.createNewFile();//创建文件
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(file.isFile());
        //创建文件夹
        File file2=new File("test/hello/c.txt");
//        //获取上一级File对象,递归创建文件夹,在本机创建文件
        File p = file2.getParentFile();//获取上一级File对象
        p.mkdirs();
        try {
            file2.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
//        File p = file2.getParentFile();//获取上一级File对象
//        File f3=new File("hhh/aaa/d.txt");
//        f3.mkdir();//单层创建文件夹
//        f3.mkdirs();//递归创建文件夹,连最后一集文件也会创建成文件夹
        f.delete();//删除文件
        File f4=new File("e.txt");
        file2.renameTo(f4);
        System.out.println(f4.getPath());//获取相对路径
        System.out.println(f4.getAbsolutePath());//获取绝对路径
    }
}

FileInputStream类 输入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码演示

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;


public class PInputStream {
    public static void main(String[] args) throws Exception{//第二种方法直接抛异常,不再细节演示
//        FileInputStream fis = null;
//        try {
//            fis = new FileInputStream("aaa/bbb/p2.txt");
//            int tmp=0;
//            while ((tmp=fis.read()) !=-1){
//                System.out.print((char)tmp);
//            }
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }finally {
//            try {
//                fis.close();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }

		//方法二
        FileInputStream fis=new FileInputStream("aaa/bbb/p2.txt");
        byte[] b=new byte[fis.available()];
        fis.read(b);
        String s=new String(b);
        System.out.println(s);
        fis.close();
    }
}

FileOutputStream类 输入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码演示

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class POutputStream {
    public static void main(String[] args) {
        FileOutputStream fos=null;
        try {
            fos=new FileOutputStream("aaa/bbb/p3.txt",true);//追加写入,不加true就是替换写入
            String s="啦啦啦啦啦啦啦啦";
            byte[] b=s.getBytes();
            fos.write(b);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        System.out.println("输入完成!");
    }
}

将输入和输出写成静态方法,代码演示

import java.io.*;


public class PMethod {
    public static void copy(String inpath,String outpath,boolean isAppend){
        try{
            String s=readFromFile(inpath);
            whriteIntoFile(outpath,isAppend,s);
        }catch (IOException e){
            e.printStackTrace();
        }

    }
    public static String readFromFile(String inpath) throws IOException {
        File f=new File(inpath);
        if(!f.exists())return null;
        if(f.length()==0)return "";
        FileInputStream fis=new FileInputStream(f);
        byte[] b=new byte[fis.available()];
        fis.read(b);
        fis.close();
        System.out.println("读取成功!");
        return new String(b);
    }
    public static void whriteIntoFile(String outpath,boolean isAppend,String rst) throws IOException {
        if(null==rst){
            System.out.println("输入不能为空,写入失败");
            return;
        }
        File f=new File(outpath);
        if(f.getParentFile().exists()){
            f.getParentFile().mkdirs();
        }
        FileOutputStream fos=new FileOutputStream(outpath);
        fos.write(rst.getBytes());
        fos.close();
        System.out.println("写入成功!");
    }
}

钦此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值