输入和输出的处理(1)

 

目录

File类的常用方法

练习1:查看文件属性、创建和删除文件

如何读写文件?

Java流的分类

FileInputStream

InputStream类常用方法

子类FileInputStream常用的构造方法

使用FileInputStream 读文本文件

FileOutputStream

FileOutputStream

子类FileOutputStream常用的构造方法

使用FileOutputStream 写文本文件

练习2:复制文本文件


什么是文件?

相关记录或放在一起的数据的集合

Java程序如何访问文件属性?

JAVA API :java.io.File 类

File类的常用方法

方法名称
boolean exists()判断文件或目录是否存在
boolean isFile判断是否是文件
boolean isDirectory()判断是否是目录
String getPath返回此对象表示的文件的相对路径名
String getAbsolutePath()返回此对象表示的文件的绝对路径名
String getName()返回此对象表示的文件或目录的名称
boolean delete()删除此对象指定的文件或目录
boolean createNewFile()创建名称的空文件,不创建文件夹
long lenth()返回文件的长度,单位为字节,如果文件不存在,则返回OL

练习1:查看文件属性、创建和删除文件

实现查看文件属性、创建和删除文件功能

效果图

public class FileMethods {
    public static void main(String[] args)throws IOException {
        File file = new File("E:\\mydog\\test.txt");
        file.createNewFile();
        System.out.println("名称" + file.getName());
        System.out.println("相对路径" + file.getPath());
        System.out.println("绝对路径" + file.getAbsoluteFile());
        System.out.println("文件大小" + file.length());
        File file1 = new File("E:\\mydog\\f.txt");
        file1.createNewFile();
    }
}

如何读写文件?

通过流来读写文件
流是一组有序的数据序列
以先进先出方式发送信息的通道


输入/输出流与数据源


Java流的分类

 

 

 

FileInputStream

InputStream类常用方法


 

int read( )
int read(byte[] b)
int read(byte[] b,int off,int len)
void close( )
int available():可以从输入流中读取的字节数目


 

子类FileInputStream常用的构造方法


 

 FileInputStream(File file)
FileInputStream(String name)   

使用FileInputStream 读文本文件

 演示示例2:使用FileInputStream类读取文本文件

FileOutputStream

OutputStream类常用方法
void write(int c)
void write(byte[] buf)
void write(byte[] b,int off,int len)
void close()
void flush():强制把缓冲区的数据写到输出流中

FileOutputStream

子类FileOutputStream常用的构造方法



FileOutputStream (File file)
FileOutputStream(String name)    
FileOutputStream(String name,boolean append)


1.前两种构造方法在向文件写数据时将覆盖文件中原有的内容
2.创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件

使用FileOutputStream 写文本文件

使用FileOutputStream 写文本文件的步骤与读文件的步骤有何不同?

 

 

演示示例3:使用FileOutputStream类向文本文件写数据

练习2:复制文本文件

需求说明
文件“我的青春谁做主.txt”位于D盘根目录下,要求将此文件的内容复制到C:\myFile\my Prime.txt中

public class Copy {
    public static void main(String[] args) {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            //创建输入流对象,读取文件内容
            fis = new FileInputStream("E:\\我的青春谁做主.txt");
            //创建输出流对象,向文件写内容。
            fos = new FileOutputStream("D:\\及你太美.txt");
            //可以从输入流中读取的字节数目
            int size = fis.available();
            System.out.println(size);
            //缓冲区或者中转站,输入流将内容读取到字节数组中,然后输出流从字节数组中拿到数据写出去
            byte[] words = new byte[size];
            int len = -1;
            System.out.println("----->开始读取源文件内容,向目标文件复制(写入)");
            //fis.read(words):将文件内容读取到缓冲区(字节数组words)
            //len:每次读取的量,按字节读
            while((len = fis.read(words)) != -1){
                //将内容写入到文件中,words:写入内容,0:偏移量,len:每次写入的量(按字节写入)
                fos.write(words,0,len);
            }
            //强制把缓冲区的数据写到输出流中
            fos.flush();
            System.out.println("----->文件复制完毕");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            try {
                if(fos != null ){
                    fos.close();
                }
                if(fis != null){
                    fis.close();
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值