一,io的常用类:

  1,File类

  2,OutputStream 字节输出流

  3,InputStream     字节输入流

  4,Writer  字符输出流

  5,Reader 字符输入流

package io;import java.io.*;/*
字节流在JAVA中所有的输入流的父类为: java.io.InputStream,此类是一个抽象类一、java.io.FileInputSteram此类为文件输入流。read方法的作用从流(数据来源)中一次返回一个数据字节。如果文件中没有数据字节则会返回-1available方法作用返回当前流有多少个字节可以读。skip(long)跳过指定的指节数。二、java.io.FileOutputStream在JAVA中所有的输出流的父类为: java.io.OutputStream,此类是一个抽象类三、BufferedInputStream BufferedOutputStream字节缓冲输入输出流,通过read(byte[]) 与write(byte[])实现,主要用于在读取数据字节的时候记录字节数。注: 以上的流都属于字节流,字节流特点是一次读取一个字节,可以用它来读取任何文件内容。字符流由于字节流一次读取一个字节,因此在读取一些文本内容的时候,效率会比较低,因此JDK提供了字符流来读取字符类文件(一次读取二个字节)。注:字符流也是由字节流来实现,字符流只能读取字符类文件。一、java.io.Reader(抽象类)所有字符输入流的父类二、java.io.Writer(抽象类)所有字符输出流的父类。三、java.io.FileReader文件输入字符流四、java.io.FileWrite文件字符输出流如果出现字符编码不一至造成的乱码可以使用InputStreamReader与 OutputStreamWrite*/
/*** io字节流和字符流的传递方式* @author dyb**/
public class IoDemoTree {public static void main(String[] args) {}/*java本身没有IO的读写功能,它是借助平台(window)自身的读写功能来实现,每调用一次read方法与write方法都需要与平台建立一次连接(耗费一定的时间),因此正确的操作应该是在建立一次连接后读取尽量多的字节数。read(byte[]) 与write(byte[]) 适合不记录读取字节数的情况下一次性读完所有文件内容。*//*** 一次性读完整个文件,使用下列方法。* @throws IOException*/public void rw() throws IOException {FileInputStream in = new FileInputStream("src/start.mp3");FileOutputStream out = new FileOutputStream("src/start_2.mp3");long s=System.currentTimeMillis();//获取文件传输开始的的时间byte[] by=new byte[8194];int len = 0;while((len=in.read(by))!=-1){out.write(by,0,len);}in.close();out.close();long e=System.currentTimeMillis();System.out.println(e-s);}/*** 需要读取记录字节数使得下列方法。* @param aa* @throws IOException*/public void rw(int aa) throws IOException {FileInputStream in = new FileInputStream("src/start.mp3");FileOutputStream out = new FileOutputStream("src/start_2.mp3");BufferedInputStream bin=new BufferedInputStream(in);BufferedOutputStream bout=new BufferedOutputStream(out);long s=System.currentTimeMillis();int a = 0;while((a=bin.read())!=-1){bout.write(a);}bin.close();bout.close();long e=System.currentTimeMillis();System.out.println(e-s);}/*** 需要读取字符类文件并且可以修改字符编码,使用下面方法* @param aa* @throws IOException*/public void rw(byte  aa) throws IOException{InputStreamReader iObj=new InputStreamReader(new FileInputStream("src/action/说明.txt"),"GBK");OutputStreamWriter oObj=new OutputStreamWriter(new FileOutputStream("src/action/说明2.txt"),"UTF-8");char[] by=new char[8888];int len=iObj.read(by);while(len!=-1){oObj.write(by,0,len);len=iObj.read(by);}iObj.close();oObj.close();}
}

例二:

复制文件夹下所有的文件

package io;
import java.io.*;/*** 使用File复制文件和目录* @author dyb**/
public class IoDemoTwo {public static void main(String[] args) throws IOException {/*st.copy("E:\\360SoftMgrGame","E:\\360downloads/aaa");*/IoDemoTwo obj=new IoDemoTwo();File src=new File("E:/360SoftMgrGame");File target=new File("E:/360downloads");if(!target.exists()) target.mkdirs();obj.copy(src, target);}/** 递归复制下一级目录*/public void copy(File src,File target){File[] fs=src.listFiles();for(int i=0;i<fs.length;i++){String name=fs[i].getName();File newF=new File(target,name);if(fs[i].isDirectory()){newF.mkdirs();copy(fs[i],newF);}else{rw(fs[i], newF);}}
}/*** 复制文件*/public void rw(File src,File target){try {FileInputStream in = new FileInputStream(src);FileOutputStream out = new FileOutputStream(target);byte[] by = new byte[8194];int len = 0;while ((len = in.read(by)) != -1) {out.write(by, 0, len);}in.close();out.close();}catch (IOException e){e.printStackTrace();;}}}

转载于:https://www.cnblogs.com/dybe/p/8439896.html

java:io的基本实例相关推荐

  1. Java.io包中常用的类

    Java.io包 Java.io.BufferedInputStream类实例 Java.io.BufferedOutputStream类使用例子 Java.io.BufferedReader类 Ja ...

  2. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  3. Java.io.File.getPath()方法实例

    转载自  Java.io.File.getPath()方法实例 java.io.File.getPath() 方法将抽象路径名到路径名字符串.为了分离名称的序列所产生的字符串使用默认名称分隔符. 声明 ...

  4. java io读取文件_java io读取文件操作代码实例

    这篇文章主要介绍了java io读取文件操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主要分为字节读取和字符读取,字节读取可以一个一个 ...

  5. Java IO操作——投票程序实例

    功能描述: 有一个班级采用民主投票的方法推选班长,班长候选人共4位,每个人姓名及代号分别为张三 1,李四 2,王五 3,赵六 4.程序操作员将每张选票上所填的代号(1.2.3.4)循环输入电脑,输入数 ...

  6. java io教学文件_通过代码实例跟我学Java语言程序设计及应用技术——Java文件IO技术及应用相关的教学示例(第3部分)...

    1.1Java文件IO技术及应用相关的教学示例(第3部分) 1.1.1文本字符流IO操作 1.字符流Reader/Writer类 提供的对字符流处理的类,它们为抽象类.其子类 (1)InputStre ...

  7. java io流复制文件简单实例

    java io流复制文件简单实例 实例1: package com.io;import java.io.BufferedInputStream; import java.io.BufferedOutp ...

  8. java io 文件复制_实例讲述Java IO文件复制

    前言:IO流主要分为两大类,分别是字节流与字符流 注意: 1.音频文件.图片.视频(范围广),就用字节流 2.只涉及到文本的,就用字符流 使用字节流复制文本内容(其他文件也可以) 代码如下: impo ...

  9. java io 文件是否存在,代码实例Java IO判断目录和文件是否存在

    我们先来看完整的代码: import java.io.File; public class JudgeFile { public static void main(String[] args) { F ...

最新文章

  1. 怎么让百度快速重新收录
  2. golang: 类型转换和类型断言
  3. 常用服务器性能分析工具
  4. cordova打包app后发请求出现 Provisional headers are shown的问题
  5. 用aspx开发html5页面,ASP.NET使aspx页面能接受HTML,asp的页面传送的文件-.NET教程,Asp.Net开发...
  6. 前端学习(1798):前端调试之css伪元素练习
  7. async/await
  8. 第十一节课 课堂总结
  9. Python概率编程库PyMC应用案例二则
  10. jupyter notebook使用opencv的例子_VSCode中使用jupyter notebook
  11. java布类型的常量,java数据类型;常量与变量;
  12. 实验1 查看cpu和内存,用机器指令和汇编指令编程
  13. outlook qr码在哪里_胡志明市第一次将QR码附加在街道名称板上,目的是什么?
  14. 2021 年最佳开源软件榜单出炉
  15. 飞鸽传书软件局域网传输文件
  16. [通用指导]笔记本内置无线网卡选用
  17. 怎么删除远程桌面连接IP记录 删除连接信息
  18. 兽药促销发展分析及新策略谈
  19. LINUX最常见命令
  20. 男人到中年,活得不如一条狗

热门文章

  1. 数据可视化 | Tableau从入门到高手 入门联接关系数据预处理
  2. HTML学生考勤界面代码,基于jsp的学生考勤系统-JavaEE实现学生考勤系统 - java项目源码...
  3. android mediastore参数,从 mediastore Android获取全屏幕缩略图
  4. 华为云MVP周峥:气象预报是个技术活,大数据、超算、AI,缺一不可
  5. 全连MGRE与星型拓扑MGRE
  6. 高翔视觉SLAM十四讲(第二版)各种软件、库安装的以及报错解决方法
  7. 网络安全应急响应----8、网页篡改应急响应
  8. CANoe集成解决方案
  9. IDEA配置JPBC
  10. 2020年中国互联网公司薪酬排行榜发布了!这些你都知道吗?