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 学习笔记之 流、文件的操作的更多相关文章

  1. Java 学习笔记 IO流与File操作

    可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...

  2. Beego 学习笔记12:文件的操作

    文件的操作 1>     此事例操作的是text文件 2>     文件的操作有读取text内容,将内容写入到文件中,删除文件,创建文件 3>     新建一个控制器,名为rwfil ...

  3. Java学习笔记--字符串和文件IO

    1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1. ...

  4. java学习笔记--IO流

    第十二章大纲: I/O input/output 输入/输出 一.创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存 ...

  5. Java学习笔记-基础语法Ⅸ-文件

    File File是文件和路径名的抽象表示,File封装的并不是一个真正存在的文件,是一个路径名,可以存在也可以不存在 常用方法: 创建文件:createNewFile() 创建目录:mkdir() ...

  6. Serlvet学习笔记之四—对文件的操作

    1.读文件 package com.demo; import java.io.BufferedReader; import java.io.FileReader; import java.io.Pri ...

  7. JAVA学习笔记 -- 包资源文件jar包裹

    初学者GUI,使用Eclipse出口jar包裹,不能显示最小化的图标集(hello.png根文件下的项目文件夹文件).码如下面: import javax.swing.JFrame; import j ...

  8. java学习笔记——IO流部分

    IO流常用的有:字符流.字节流.缓冲流.序列化.RandomAccessFile类等,以上列出的都是开发中比较常用的. 1.字节流: 字节流包含:FileInputStream/FileOutputS ...

  9. Java学习笔记——Socket实现文件传输

    我越是逃离,却越是靠近你. 我越是背过脸,却越是看见你. 我从你开始, 我在你结束. 需求:实现局域网下socket传输文件. 客户端步骤: 1.建立与服务器的连接 2.创建client输出流 3.创 ...

随机推荐

  1. 【Java入门提高篇】Day3 抽象类与接口的比较

    抽象类跟接口都讲完了,现在来做一个比较. 其实说实话,没有多大的可比较性,它们是完全不同的两个东西,它们的抽象不在同一个层级上.但是为了让大家更好的理解,还是做一个比较吧,毕竟它们都很抽象(233). ...

  2. cocos2dx3.2移植android

    LOCAL_PATH := $(call my-dir)LOCAL_MYDIR = $(LOCAL_PATH)/../../Classesinclude $(CLEAR_VARS) $(call im ...

  3. [react] React 新手必须知道的 N 件事

    尽量用 props & onChange,不要用 ref 获取引用然后调用方法.详情参考我的文章:一等公民 props & onChange React 只是一个视图框架,请尽量在 C ...

  4. 浅谈IM(InstantMessaging) 即时通讯/实时传讯【理论篇】

        一.IM简要概述 IM InstantMessaging(即时通讯,实时传讯)的缩写是IM,互动百科大致解释是一种可以让使用者在网络上建立某种私人聊天(chatroom)的实时通讯服务. 大部 ...

  5. 对NumPy中dot()函数的理解

    今天学习到numpy基本的运算方法,遇到了一个让我比较难理解的问题.就是dot函数是如何对矩阵进行运算的. 一.dot()的使用 参考文档:https://docs.scipy.org/doc/num ...

  6. 【二十二】mysqli事务处理

    事务处理 事务基本原理 如果不开启事务,执行一条sql,马上会持久化数据.可见:默认的mysql对sql语句的执行是自动提交的! 如果开启了事务,就是关闭了自动提交的功能,改成了commit执行自动提 ...

  7. JAVA高并发程序设计笔记

    第二章 Java并行程序基础 1.join()的本质是让调用线程wait()在当前线程的对象上 2.Thread.yiedl()会使当前线程让出CPU 3.volatile保证可见性,无法保证原子性( ...

  8. 实践作业3DAY1

    今天,老师又布置了新的学习任务,关于白盒测试.感觉黑盒测试,我们用的比较多,白盒测试就相对陌生了.上课的时候老师虽然也进行了一定的点拨,外加我们学习了SPOC视频,但是并没有看到什么具体的项目,所以实 ...

  9. QT之TCP通信

    QT中可以通过TCP协议让服务器和客户端之间行通信.所以下面我就围绕服务器和客户端来写. 这是我么写服务器和客户端的具体流程: A.服务器: 1.创建QTcpServer对象         2.启动 ...

  10. 天梯赛 L2-019. 悄悄关注 map

    L2-019. 悄悄关注 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 新浪微博上有个"悄悄关注",一个用 ...