zoukankan      html  css  js  c++  java
  • FileInputStream与FileOutputStream 复制文件例子代码

        try {
            File sourceFile = new File("C:\Users\prize\Desktop\Demo1\盗墓笔记7.txt");//创建源文件
            InputStream inputStream = new FileInputStream(sourceFile);//创建输入文件流
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); //创建文本行缓存输入流 导入  缓存输入流
            File targetFile = new File("F:\手机T卡资料\直接复制T卡\EBOOK\复制的书.txt"); //创建复制的目标文件
            if (targetFile.exists()) { //判断文件是否存在
                targetFile.delete(); //删除文件
                targetFile.createNewFile();         //创建文件
            }else {
                targetFile.createNewFile();                
            }
        
            OutputStream out = new FileOutputStream(targetFile); //创建输出文件流
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out)); //创建文本缓存输出流 导入 缓存输出流
            String aString = null; //给一行的内容准备的String
            int i = 0;
            while ((aString = reader.readLine()) != null && i<20) { //读取一行,并且赋值给aString,然后在判断不是空值
                //i++;  //此处是为了输出指定数量行数写的 循环自增,
                writer.write("
    "+aString); //将内容添加到输出流中
                //System.out.println(aString);
            
                
                
            }
            
            writer.flush(); //刷新输出流
            writer.close(); //关闭流 ,注意流的关闭顺序
            out.close();
            reader.close();
            inputStream.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

    流文件

                    int len = 0;
                    byte[] bytes = new byte[2048];
                    while ((len = fileInputStream.read(bytes)) != -1) {
                        fileOutputStream.write(bytes, 0, len);
                        fileOutputStream.flush();
                    }
                    fileInputStream.close();
                    fileOutputStream.close();

    批量处理文件:

     public void fileList() {
            File inFile = new File("C:\Users\lenovo\Desktop\copy\color");
            File [] files = inFile.listFiles();
            for (int i = 0; i < files.length; i++) {
                files[i].delete();
                System.out.println(files[i].toString());
                
            }
     


  • 相关阅读:
    I/O多路复用和Socket
    我读过的最好的epoll讲解--转自”知乎“
    gcc和g++的区别
    详解派生类构造函数与析构函数
    C++中构造函数,拷贝构造函数和赋值函数的区别和实现
    浅拷贝和深拷贝的区别?
    曲演杂坛--特殊字符/生僻字与varchar
    SQL SERVER--单回话下的死锁
    曲演杂坛--表变量的预估行数
    曲演杂坛--为什么SELECT语句会被其他SELECT阻塞?
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/9708641.html
Copyright © 2011-2022 走看看