java学习笔记之流文件的操作

     2022-03-26     700

关键词:

ava 学习笔记之 流、文件的操作

对于一些基础的知识,这里不再过多的解释,

简单的文件查询过滤操作

package com.wfu.ch08;

import java.io.File;
import java.io.FilenameFilter;

public class Test1 {        
    
    public static void main(String[] args) {



        File file=new File("F:\2017-2018-1\javase");
//      //获取该目录下,所有的文件或目录的名字组成的字符串数组
//      String[] list=file.list();
//      //遍历list
//      for(String str:list){
//          System.out.println(str);
//      }




//      File[] list=file.listFiles();
//      //遍历文件数组list
//      for(File f:list){
//          if(f.isDirectory()){
//              System.out.println("目录:"+f.getName());
//          }
//          else{
//              System.out.println("文件:"+f.getName());
//          }
//      }



//引用外部类实现过滤器功能

        MyFilter filter=new MyFilter();
        String[] list=file.list(filter);
        for(String str:list)
               {
            System.out.println(str);
        }




        
//      File file=new File("d:\test.txt");
//      System.out.println("是目录吗?"+file.isDirectory());
//      System.out.println("文件大小"+file.length());
//      System.out.println("文件名:"+file.getName());
//      System.out.println("文件路径"+file.getPath());
//      Date date=new Date(file.lastModified());
//      System.out.println("最后修改时间为:"+date);
//      System.out.println("是文件吗?"+file.isFile());
        
    }
}


//外部类实现过滤,因为FilenameFilter 是没有实现类的,所以只好我们自己写啦
class MyFilter implements FilenameFilter{

    @Override
    public boolean accept(File dr, String name) {
        // TODO Auto-generated method stub
        if(name.endsWith(".doc")||name.endsWith(".docx")){
            return true;
        }
        else{
            return false;
        }
    }
    
}   

内部类举例

package com.wfu.ch08;

import java.io.File;
import java.io.FilenameFilter;

public class Test2 {
    public static void main(String[] args) {
        File file=new File("F:\2017-2018-1\javase");
        Test2 t=new Test2();
        Test2.MyFilter filter=t.new MyFilter();
        String[] list=file.list(filter);
        for(String s:list){
            System.out.println(s);
        }
    }
        //这个类写在了类 Test2 中,所以是内部类,在调用内部类是一定要声明对象啊啊啊啊啊
    class MyFilter implements FilenameFilter{

        @Override
        public boolean accept(File arg0, String arg1) {
            // TODO Auto-generated method stub
            if(arg1.endsWith(".doc")||arg1.endsWith(".docx")){
                return true;
            }
            else{
                return false;
            }
        }
        
        
    }

}

匿名类举例

package com.wfu.ch08;

import java.io.File;
import java.io.FilenameFilter;

public class Test3 {
    public static void main(String[] args) {
        File file=new File("F:\2017-2018-1\javase");

                //这里的没有写类的名字,而是直接写的实现方法,这样就是匿名的内部类
        String[] list=file.list(new FilenameFilter(){//这个地方本来是不能直接使用接口的,但是,因为下面的实现类也写上了,所也这里实质山是调用的实现类,而不是接口
            @Override
            public boolean accept(File arg0, String arg1) {
                // TODO Auto-generated method stub
                if(arg1.endsWith(".doc")||arg1.endsWith(".docx")){
                    return true;
                }
                else{
                    return false;
                }
            }
            
        });
        for(String s:list){
            System.out.println(s);
        }
    }

}

流、文件的操作简单举例

package wfu;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Test3 {
    public static void main(String[] args) throws IOException {
        FileOutputStream out = new FileOutputStream("d:\test2.txt");
        String str = "This is a bug";
        out.write(str.getBytes());//写入字符数组
        //out.close();
        FileInputStream input = new FileInputStream("d:\test2.txt");
        byte[] b = new byte[1024];
        input.read(b);
        System.out.println(new String(b));
        //input.close();
        
        FileOutputStream outto = new FileOutputStream("f:\test2.txt");
        out.write(str.getBytes());
        out.close();
        
        
        
        
        
        
//      
//      //利用字节流的话会出现中文乱码 
//      //所以说如果有中文的话还是用字符流比较好
//      FileInputStream input = new FileInputStream("d:\test.txt");
//      int x = input.read();
//      do{
//          System.out.print((char)x);
//          x= input.read();
//      }while(x!=-1);
//      //关闭流
//      input.close();
//      
        
        
        
//      //创建文件字节输入流
//      InputStream input = new FileInputStream("d:\test.txt");
//      
//      //在输入流中读数据
//      byte[] b = new byte[1024];
//      input.read(b);
//      System.out.println(new String(b));//转换成字符串
//      //关闭
//      input.close();
//      //创建文件输出流
//      OutputStream out = new FileOutputStream("d:\test1.txt");//文件不存在就自动创建一个,如果有的话,就执行此文件
//      out.write(b);
//      out.close();
        
    }
    
    
}

java学习笔记6.3.1文件操作-file类

文章目录零、本讲学习目标一、File类(一)File类概述(二)File类API文档(三)File类结构图二、File类常用方法(一)File类常用构造方法(二)File类常用普通方法三、利用File类实现文件操作(一)创建目录1、创建方法2、案例... 查看详情

java学习笔记6.3.2文件操作-随机存取文件类

文章目录零、本讲学习目标一、RandomAccessFile类(一)RandomAccessFile类概述(二)RandomAccessFile类API文档(三)RandomAccessFile构造方法(四)RandomAccessFile操作原理(五)RandomAccessFile常用方法二、利用RandomAccessFile类操作文件(一)利... 查看详情

java学习之流程控制语句(选择结构)

...; 执行语句;   ……}接下来通过一段代码,学习一下if语句的具体用法,IfDemo01.java在上述代码中,定义了一个变量 查看详情

阿花宝宝java基础笔记之流程控制

1.语法:if(条件1){          //代码1       }elseif(条件2){          //代码块2& 查看详情

java学习笔记6.3.1文件操作-file类

文章目录零、本讲学习目标一、File类(一)File类概述(二)File类API文档(三)File类结构图二、File类常用方法(一)File类常用构造方法(二)File类常用普通方法三、利用File类实现文件操作(一)创建目录1、创建方法2、案例... 查看详情

学习笔记24文件的其他操作

文件的其他操作一、文件的重命名和删除1、文件重命名os模快中的rename()方法可以完成对文件的重命名操作。rename(需要修改的文件名,新的文件名) 2、文件删除os模快中的remove()方法可以完成对文件的删除操作。remove(待删除... 查看详情

html的简单学习笔记

1、Html简介   1)什么是html:     HyperTextMarkupLanguage:超文本标记语言,网页语言。     》超文本:超出文本范围。     》标记: html中所有的操作都是使用标记实现的,标记就是标签,<标签名>... 查看详情

java学习笔记6.3.4文件操作-path接口和files工具类

文章目录零、本讲学习目标一、NIO概述(一)NIO定义(二)NIO相关包(三)NIO三大核心二、NIO.2概述(一)NIO.2定义与特点(二)NIO.2提供的接口与工具类三、Path接口与Paths类(一)Path接口定义(二)Path接口API文档(三)Path接口... 查看详情

操作系统——文件学习笔记(代码片段)

在学习C语言的时候学习过如何打开关闭一个文件,可以参考一下以前的博客C语言文件操作,在学习了进程之后看待文件的角度就不能只停留在语言层面上了,下面从两个角度来认识一下操作系统对文件的管理文章目... 查看详情

操作系统——文件学习笔记(代码片段)

在学习C语言的时候学习过如何打开关闭一个文件,可以参考一下以前的博客C语言文件操作,在学习了进程之后看待文件的角度就不能只停留在语言层面上了,下面从两个角度来认识一下操作系统对文件的管理文章目... 查看详情

go语言学习笔记文件操作

加Golang学习QQ群共同学习进步成家立业工作^-^群号:96933959文件读取os.File封装了文件相关操作typeFileFile代表一个打开的文件对象。funcCreate(namestring)(file*File,errerror)Create采用模式0666(任何人都可读写,不可执行)创建一个名为name... 查看详情

elasticsearch-学习笔记04java客户端操作索引库(代码片段)

Java后端-学习路线-笔记汇总表【黑马程序员】ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】ElasticSearch-学习笔记02【ElasticSearch索引库维护】ElasticSearch-学习笔记03【ElasticSearch集群】ElasticSearch-学习笔记04【Java客户端操作索... 查看详情

java8之流的基本使用

概述流(stream())是java8的一个新特性,主要的作用就是将各种类型的集合转换为流,然后的方便迭代数据用的.例如://将List类型的集合转换为流list.stream()转换为流之后可以进行一系列的迭代操作,比自己去拿出list的值一个个操作要方... 查看详情

java学习笔记-io篇:文件与目录(代码片段)

Java学习笔记-IO篇:文件与目录File介绍增删改递归删除Java7Files状态检测设置权限获取文件信息遍历目录FilenameFilter过滤FileFilter过滤参考资料File介绍File作为一个工具类,没有太多要学习的东西。把方法过一遍知道它能干啥... 查看详情

java学习笔记-io篇:文件与目录(代码片段)

Java学习笔记-IO篇:文件与目录File介绍增删改递归删除Java7Files状态检测设置权限获取文件信息遍历目录FilenameFilter过滤FileFilter过滤参考资料File介绍File作为一个工具类,没有太多要学习的东西。把方法过一遍知道它能干啥... 查看详情

大数据学习笔记:利用java项目操作hbase

文章目录一、Java类与HBase数据模型之间的对应关系二、利用JAVA项目操作HBase(一)HBase表基本操作1、创建Java项目HBaseDemo2、在pom.xml添加对hadoop和hbase的依赖3、在resources目录下创建log4j.properties文件4、创建net.hw.hbase包,在里面创建H... 查看详情

大数据学习笔记:利用java项目操作hbase

文章目录一、Java类与HBase数据模型之间的对应关系二、利用JAVA项目操作HBase(一)HBase表基本操作1、创建Java项目HBaseDemo2、在pom.xml添加对hadoop和hbase的依赖3、在resources目录下创建log4j.properties文件4、创建net.hw.hbase包,在里面创建H... 查看详情

学习笔记之xlsx文件操作篇

利用python3进行xlsx文件的简单操作模块:xlsxwriter环境:centos/Linux1、创建excel文件2、创建sheet表3、开始书写sheet表的正文先来一串代码压压惊#############建立xlsx文件并写入数据 图片################import xlsxwriterworkbook = xl... 查看详情