zoukankan      html  css  js  c++  java
  • FileReader和FileWriter的使用实例

    package io;
    
    import org.junit.Test;
    
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Map;
    import java.util.Properties;
    
    public class IoDemoTest {
        private FileReader fr = null;
        private FileWriter fw = null;
        private File file = null;
    
        @Test
        public void fun() {
            try {
                FileReader fr = new FileReader(new File(IoDemoTest.class.getResource("/a.txt").getPath()));
                int i = 0;
                /*System.out.println(1 / 0);*/
                while ((i = fr.read()) != -1) {
                    System.out.print((char) i);
                }
    
                fr.close();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                System.out.println();
                System.out.println("无论什么情况都会被执行");
            }
        }
    
        @Test
        public void write() {
            /*Map<String, String> getenv = System.getenv();
            for(Map.Entry<String,String> en :getenv.entrySet()){
                System.out.println("key值是" + en.getKey());
                System.out.println("value值是" + en.getValue());
            }*/
    
            /*String pwd = System.getenv("PWD");
            System.out.println(pwd);*/
    
            String getdir = System.getProperty("user.dir");
            /*System.out.println(getdir);*/
    
            File file = new File(getdir + "/src/main/resources/b.txt");
            if (!file.exists()) {
                try {
                    file.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else {
                try {
                    FileWriter fw = new FileWriter(file);
                    fw.write("io写数据");
                    fw.flush();
                    /*fw.close();*/
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
        @Test
        public void copy0() throws Exception {
            fr = new FileReader("C:\Users\15082157\Desktop\自我介绍.txt");
            /*int i = 0;
            while ((i = fr.read()) != -1) {
                System.out.print((char) i);
            }*/
    
            String getdir = System.getProperty("user.dir");
            file = new File(getdir + "/src/main/resources/copy0.txt");
            if (!file.exists()) {
                file.createNewFile();
                /*FileWriter fw = new FileWriter(file);
                while ((i = fr.read()) != -1) {
                    fw.write((char) i);
                }
                fw.flush();
                fr.close();
                fw.close();*/
                characterCopy();
                System.out.println("新创建文件,再copy字符");
            } else {
                /*FileWriter fw = new FileWriter(file);
                while ((i = fr.read()) != -1) {
                    fw.write((char) i);
                }
                fw.flush();
                fr.close();
                fw.close();*/
                characterCopy();
                System.out.println("已有文件,直接copy字符");
            }
    
        }
    
        public void characterCopy() throws Exception {
            int i = 0;
            fw = new FileWriter(file);
            long beginTime = getCurrentTime1();
            while ((i = fr.read()) != -1) {
                fw.write((char) i);
            }
            fw.flush();
            long endTime = getCurrentTime1();
            float time = (endTime - beginTime) / 1000F;
            System.out.println("copy时间为" + time + "s");
            fr.close();
            fw.close();
    
        }
    
        @Test
        public void getCurrentTime(){
            SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd HH:mm:ssSSS");
            /*System.out.println(df);*/
            System.out.println(df.format(new Date()));
        }
    
    
        public long getCurrentTime1(){
            long currentTime= System.currentTimeMillis();
            System.out.println(currentTime);
            return currentTime;
        }
    }

    windows获取工程当前路径使用这个方法  System.getProperty("user.dir");

  • 相关阅读:
    网络编程-进程-1、什么叫进程?
    Python做性能测试-1、Locust基础篇
    网络编程-线程-6、互斥锁解决线程中数据安全问题
    网络编程-线程-5、多个线程共享全局变量造成资源争抢,数据混乱
    网络编程-线程-4、多个线程之间共享全局变量
    网络编程-线程-3、通过继承Thread类创建线程
    网络编程-线程-2、如何查看有多少个线程在运行
    网络编程-线程-1、一张图让你看懂多线程工作原理
    网络编程-多任务,并发,并行--从底层工作原理解释,让你不再傻傻分不清这些到底什么意思
    二、网络编程-socket之TCP协议开发客户端和服务端通信
  • 原文地址:https://www.cnblogs.com/KevinFeng/p/12955210.html
Copyright © 2011-2022 走看看