IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> javaIO实验 -> 正文阅读

[Java知识库]javaIO实验

前言:这个多看看老师给的ppt,找到接口就行了,注意自己的文件路径;?

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class IOTEST{
    public static void main(String[] args) {
        String fileName = "C:Users/yu/Desktop/from.txt";
        System.out.println("----- 创建文件 ------");
        createFile(fileName);
        System.out.println("-----  将字符串写入文件 -------");
        // \r\n在txt文本中换行
        String str = "白日依山尽"+'\n'+ "黄河入海流"+'\n'+"欲穷千里目"+'\n'+ "更上一层楼"+'\n';
        writeToFile(fileName, str);
        System.out.println("--------- 基于基本IO流实现文件的复制 ----------");
        String toFile = "C:/Users/yu/Desktop/to.txt";
        try {
            copyByIO(fileName, toFile);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("--------- 基于NIO实现文件的复制 ----------");
        String toFile2 = "C:/Users/yu/Desktop/nio.txt";
        try {
            copyByIO(fileName, toFile2);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("---------- 删除指定文件 -------------");
        try {
            deleteFile(toFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("---------- 遍历指定目录文件 -------------");
        String dir = "C:/Users/yu/Desktop";
        walkDirectories(dir);
    }
    /**
     * 基于指定文件名称创建目录及文件
     * 如果文件已经存在,则忽略
     *
     * @param fileName
     */
    private static void createFile(String fileName) {
        Path p=Paths.get(fileName);
        if(!Files.exists(p)){
            try {
                Files.createDirectories(p.getParent());
                Files.createFile(p);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 提示:文件以字节操作,因此可以
     * 字符串,转字节数组,直接基于Files写入文件
     *
     * @param fileName
     * @param content
     */
    private static void writeToFile(String fileName, String content) {
        Writer writer=null;
        try {
            writer=new FileWriter(fileName);
            writer.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(writer!=null){
                try {
                    writer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }

    /**
     * 基于基本IO,以及字节数组缓冲区,复制文件
     * 打印显示循环读写循环次数
     *
     * @param sourceFile
     * @param targetFile
     */
    private static void copyByIO(String sourceFile, String targetFile) throws IOException {
        Writer writer=null;
        Reader  reader=null;
        reader=new FileReader(sourceFile);
        writer =new FileWriter(targetFile);
        char []str=new char[1024];
        reader.read(str);
        writer.write(str);
        if(writer!=null){
            writer.close();
        }
        if(reader!=null){
            reader.close();
        }
    }

    /**
     * 基于NIO,实现文件的复制
     *
     * @param sourceFile
     * @param targetFile
     */
    private static void copyByNIO(String sourceFile, String targetFile) throws IOException {
        createFile(targetFile);
        Path sourcepath=Paths.get(sourceFile);
        Path targetpath=Paths.get(targetFile);
        Files.copy(sourcepath,targetpath);
    }

    /**
     * 删除文件
     *
     * @param fileName
     */
    private static void deleteFile(String fileName) throws IOException {
        Path path=Paths.get(fileName);
        Files.delete(path);
    }

    /**
     * 遍历打印指定目录下全部目录/文件名称
     *
     * @param dir
     */
    private static void walkDirectories(String dir) {
        Path path=Paths.get(dir);
        try {
            Files.walk(path).forEach(
                    s->System.out.println(s)
            );
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 10:55:43  更:2022-05-06 10:55:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:02:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码