Java中File类重修

IO流

概述

io流:输入输出流(input/output)。流是一组有顺序的,有起点和终点的字节集合,是对各种数据传输的总称或抽象。即数据在两设备之间的传输称为流。流的本质是数据传输。

  • InputStream:所有输入流的超类
  • OutputSream:所有输出流的超类

1、在指定的目录中查找文件后缀为.txt的文件

import java.io.File;  

//在指定的目录中查找文件
public class FindFile {

    public static void main(String[] args) {
        // 在F盘查找文件后缀名为.txt的文件
        findFile(new File("F:/"), ".txt");
    }

    /**
     *查找文件的方法
     *@param target 查找目标
     *@param ext    文件扩展名
     */
    public static void findFile(File target, String ext) {
        if (target == null) {
            return;
        }

        if (target.isDirectory()) {
            File[] files = target.listFiles();

            // 若访问c盘,有些是系统文件,可能返回空
            if (files != null) {
                for (File file : files) {
                    findFile(file, ".txt");// 递归调用
                }
            }
        } else {
            // 此处表示File是一个文件
            String name = target.getName().toLowerCase();
            if (name.endsWith(ext)) {
                System.out.println(target.getAbsolutePath());
            }
        }
    }// findFile

}

2、从文件读取内容和向文件写入内容输

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

public class InputAndOutput {

    public static void main(String[] args) {
        in();
        out();
    }

    // 从文件读取内容
    private static void in() {
        File file = new File("F:/test.txt");
        // 构建一个文件输入对象
        try {
            InputStream in = new FileInputStream(file);

            StringBuilder sb = new StringBuilder();
            byte[] flush = new byte[1024];
            int len = -1;// 表示每次读取的字节长度

            // 把数据读入到数组中,并返回读取的字节数,当不等于-1时,表示读取到了数据,等于-1时表示读取完成
            while ((len = in.read(flush)) != -1) {
                // 根据读到的字节数组,在转换为字符串内容,追加到StringBuilder中
                sb.append(new String(flush));
            }
            System.out.println(sb);

            // 关闭输入流
            in.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }// in

    // 将内容输出到文件
    private static void out() {
        // 确定目标文件
        File file = new File("F:/test.txt");
        // 构建一个文件输出流对象
        try {
            OutputStream out = new FileOutputStream(file, true);// true 为追加标识
            // 要写入文件的数据
            String info = "小河流水哗啦啦";

            out.write(info.getBytes());
            out.flush();
            out.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }// out

}

原文地址:https://www.cnblogs.com/zxfei/p/10859373.html

时间: 2024-10-10 11:00:48

Java中File类重修的相关文章

Java中File类的基本用法

File类的基本用法 java.io.File类:代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到此类. File类的常用构造方法:public File(String pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储. 文件的创建 import java.io.File; import java.io.IOException; public class Test {

java中File类的使用

public class FileLei { public static void main(String[] args) throws IOException {        //..表示上一级目录     .表示当前所在目录        File file = new File("C:\\Users\\cdlx2016\\Desktop\\file类");        System.out.println("是否存在该文件:"+file.exists())

黑马程序员------Java中File类学习总结

Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! File类 1.用来将文件或者文件夹封装成对象,以方便对文件和文件夹进行操作. 2.File对象可以作为参数传递给流的构造函数. File对象功能: 创建和删除: 1.boolean createNewFile(): 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件. 2.boolean mkdir():创建此抽象路径名指定的目录. 3.boolean mkdirs():创建此抽象路径

java中File类

转自http://shameant.iteye.com/blog/163007 Java文件操作我个人认为重要的问题有: a:如何跨平台问题   b:文件编码问题,尤其是多语言平台情况下如何正常工作.   c:文件读写效率.操作效率   d:文件加密和文件安全   e:文件快速检索,强烈建议使用lence进行文件检索及文件管理. 以下是本人做的一些整理: 一:建立文件 File file1 = new File ("C:\\temp\\myNote.txt"); // in Windo

Java中File类如何扫描磁盘所有文件包括子目录及子目录文件

详细情况看代码吧,我这个代码有个BUG,扫描U盘的时候可能会报空指针异常,希望大虾指点下 import java.io.File; import java.util.ArrayDeque; public class FileListDemo { public static void main(String[] args) { File f1 = new File("E:\\"); //深度搜索 getPathDFS(f1); System.out.println("=====

java中File类详解

构造函数 代码如下: public class FileDemo {     public static void main(String[] args){         //构造函数File(String pathname)         File f1 =new File("c:\\abc\\1.txt");         //File(String parent,String child)         File f2 =new File("c:\\abc&qu

java中File类getPath()、getAbsolutePath()、getCanonicalPath()区别?

简单看一下描述,例子最重要. 1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 2.getAbsolutePath(): 返回绝对路径,但不会处理"."和".."的情况 3.getCanonicalPath(): 返回的是规范化的绝对路径,相当于将getAbsolutePath()中的"."和".."解析成对应的正确的路径 第一个例子:(使用:".\\src\\test.txt&qu

java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别

File file = new File(".\\test.txt"); System.out.println(file.getPath()); System.out.println(file.getAbsolutePath()); System.out.println(file.getCanonicalPath()); 输出实例: .\test.txt E:\workspace\Test\.\test.txt E:\workspace\Test\test.txt getPath():

使用Java中File类批量创建文件和批量修改文件名

批量创建文件 1 int cont = 1; 2 String s = "E:\\学习资料\\Java笔记-"; 3 while(cont<100){ 4 File f = new File(s+cont+".txt"); 5 if(!f.exists()){ 6 f.createNewFile(); 7 } 8 cont++; 9 } 批量修改文件名 1 File file = new File("E:\\学习资料"); 2 String