oop.io流的应用

io流分为    字节流与字符流

字节流读写的是字节二进制  使用于 图片、视频

字节输入流 inputstream    实现类  FileInputstream

字节输出流 outputstream  实现类 Fileoutputstream

inputstream 子类fileinputstream 子类datainputstream与dataoutputstream

字符流读写的是字符文本 实用于文本的读写

字符输入流  reader  实现类 FileReader

字符输出流  writer   实现类 FileWriter

带缓存区的字符流适合大文本读取,按一行一行的读取 bufferadreader 和bufferadwriter

package oop.io.file;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    /**
     * 创建文件夹
     */
    public static void createFile(File file) {

        /**
         * 判断是否有文件
         */
        if (file.exists()) {
            if (file.isFile()) {
                System.out.println("是文件");
            } else if (file.isDirectory()) {
                System.out.println("是文件夹");
            }
        } else
        /**
         * 没有文件夹
         */
        {

            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

    /**
     * 查看文件家
     *
     */
    public static void getFileInfo(File file) {
        System.out.println("文件名" + file.getName());
        System.out.println("文件大小" + file.length());
        System.out.println("文件相对路径" + file.getPath());
        System.out.println("文件绝对路径" + file.getAbsolutePath());

    }

    /**
     * 删除文件
     *
     */
    public static void deleteFile(File file){
        if(file.exists()){
             if (file.isFile()) {
                file.delete();
                System.out.println("文件已删除");
            }

        }else{

            System.out.println("文件不存在");
        }

    }
}

FileDemo

package oop.io.file;

import java.io.File;

public class Test {
  public static void main(String[] args) {
    File file=new File("D://holly.txt");
    FileDemo.createFile(file);
    FileDemo.getFileInfo(file);
    //FileDemo.deleteFile(file); 

}
}

Test

package oop.io.inoutstram;

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;

import oop.io.file.FileDemo;

public class InOutStream {
    public static void main(String[] args) throws IOException {
        File file=new File("D://bizhi.jpg");
        /*readerFile(file);
        writeFile(file);*/
        File file2=new File("D://ouchanglu.jpg");
        FileDemo.createFile(file2);
        copyPater(file2, file);
    }

    /**
     * 文件复制粘贴
     */
    /**
     * 字节输入流,写的
     * @throws IOException
     *
     */
   public static void copyPater(File file2,File file) throws IOException{

       InputStream inputStream=new FileInputStream(file);
       byte[] bsw=new byte[(int) file.length()];
       inputStream.read(bsw);

       OutputStream outputstream=new FileOutputStream(file2);
       outputstream.write(bsw);

       inputStream.close();
       outputstream.close();

   }

   public static void writeFile(File file) throws IOException{
      //创建输入流
       OutputStream outputStream=new FileOutputStream(file);

          String str="abcdefghijklmnopqrst";
          byte[] bsw=str.getBytes();
          outputStream.write(bsw);
          outputStream.close();
   }

   /**
    *
    *
    * 读取文件流
    */

   public static void readerFile(File file) throws IOException{

       InputStream inputStream=new FileInputStream(file);

       byte[] bws=new byte[(int) file.length()];
          inputStream.read(bws);
       for (byte b : bws) {
        System.out.print(b);
    }
       inputStream.close();
   }

}

inoutstream

package oop.io.readerwrite;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class ReadQWrite {
   public static void main(String[] args) throws IOException {
        copy("D://holly.txt", "D://ouchanglu.txt");
}
 /**
  * 复制粘贴
 * @throws IOException
  */

   public static void copy(String path2,String path) throws IOException{
      Reader reader=new FileReader(path2);
      char[] cs=new char[path2.length()];
      reader.read(cs);
      Writer writer=new FileWriter(path);
      writer.write(cs);
      reader.close();
      writer.close();
   }

}

readerWrete

package oop.io.readerwrite;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class ReadQWrite {
   public static void main(String[] args) throws IOException {
        copy("D://holly.txt", "D://ouchanglu.txt");
}
 /**
  * 复制粘贴
 * @throws IOException
  */

   public static void copy(String path2,String path) throws IOException{
      Reader reader=new FileReader(path2);
      char[] cs=new char[path2.length()];
      reader.read(cs);
      Writer writer=new FileWriter(path);
      writer.write(cs);
      reader.close();
      writer.close();
   }

}

bufferedwriter

package oop.io.readerwrite;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class ReadQWrite {
   public static void main(String[] args) throws IOException {
        copy("D://holly.txt", "D://ouchanglu.txt");
}
 /**
  * 复制粘贴
 * @throws IOException
  */

   public static void copy(String path2,String path) throws IOException{
      Reader reader=new FileReader(path2);
      char[] cs=new char[path2.length()];
      reader.read(cs);
      Writer writer=new FileWriter(path);
      writer.write(cs);
      reader.close();
      writer.close();
   }

}

datainoutstream

时间: 2024-11-07 14:56:55

oop.io流的应用的相关文章

Java中的IO流

Java中的IO流是实现输入/输出的基础. 按照流的方向不同:分为输入流和输出流. 按照处理数据单位的不同:分为字节流(8位)和字符流(16位). 按照功能不同:分为节点流和处理流 所有面向字节的流类都继承于InputStream类(输入流) 或OutputStream类(输出流),这两个类是抽象类,我们可以利用它的子类来完成不同的功能. InputStream.OutputStream都是抽象类 InputStream抽象了应用程序读取数据的方式 OutputStream抽象类应用程序写出数据

Java IO流 探险

Java的IO流使用了一种装饰器设计模式,它将IO流分为底层节点流和上层处理流.本篇重点在如何访问文件与目录.如何以二进制格式和文本格式来读写数据.对象序列化机制.还有Java7的"NIO.2". 装饰设计模式:当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能.那么自定义的该类称为装饰类. 装饰类通常会通过构造方法接收被装饰的对象.并基于被装饰的对象的功能,提供更强的功能. IO的方式通常分为:BIO(同步阻塞).NIO(同步非阻塞).AIO

Java 之IO流及应用

IO流 IO流概述及FileWriter类的使用 FileReader类使用 缓冲流介绍和使用 IO流相关案例 NO.one IO流概述及FileWriter类使用 1.1 IO流概述及分类 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流 1.2 FileWriter类使用 A:打开帮助文档 B:点击显示,找到索引,看到输入框 C:你要学习什么内容,你就在框框里面输入什么内容 举例:Random D:看包

IO流和File

读键盘数据.显示数据6-1)io流的分类 按方向:输入流(读取数据) 输出流(写入数据) 按数据类型:字节流(基本数据类型)输出输入 字符流(字节流的包装 对字节流进行处理)输出输入四个核心类: InputStream 字节输入流 OutStream 字节输出流 Reader 字符输入流 Writer 字符输出流6-2) 文件类 File d:/lxj/xx.txt 绝对路径 构造方法: File(String dir,String fileName) File(String path)//pa

Java笔记(19):IO流(01)

1.try...catch的方式处理异常1 1 package cn.itcast_02; 2 3 /* 4 * 异常:程序出现了不正常的情况. 5 * 6 * 程序的异常:Throwable 7 * 严重问题:Error 我们不处理.这种问题一般都是很严重的,比如说内存溢出. 8 * 问题:Exception 9 * 编译期问题:不是RuntimeException的异常 必须进行处理的,因为你不处理,编译就不能通过. 10 * 运行期问题:RuntimeException 这种问题我们也不处

java基础8(io流3)

1.LineNumberReader: public int getLineNumber():获取行号 public void setLineNumber(int lineNumber):设置起始行号 String readLine():读取一行 2.操作基本数据类型的流 DataInputStream:读数据 DataOutputStream:写数据 作用:可以操作基本类型的流对象,其读写顺序必须一致,否则数据有问题. public static void main(String[] args

java IO流

* IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流. * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便. * IO流常用父类 * 字节流的抽象父类: * InputStream * OutputStream * 字符流的抽象父类: * Reader * Writer * IO程序

Java:IO流与文件基础

Java:IO流与文件基础 说明: 本文所有内容包含图片均为MrSaber自己编写,转载请练习我哦. 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象称作 输入流,可以向其中写入一个字节序列的对象称作 输出流. ? 这些字节序列的来源可以是:文件.网络连接.内存块等. ? 抽象类InputStream和OutputStream是构成输入/输出(I/O)的基础. ? 因为面向字节的流

5. IO流:★★★★★

IO流:★★★★★,用于处理设备上数据. 流:可以理解数据的流动,就是一个数据流.IO流最终要以对象来体现,对象都存在IO包中. 流也进行分类: 1:输入流(读)和输出流(写). 2:因为处理的数据不同,分为字节流和字符流. 字节流:处理字节数据的流对象.设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的.二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节.意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据. 那么为什么要有字符流呢?因