首先介绍File类:

我们直接上代码:

 package com.learn.chap10.sec02;

 import java.io.File;
import java.io.IOException; /**
* 测试创建目录和文件
* @author Administrator
*
*/
public class TestFile {
public static void main(String[] args) throws IOException {
File file=new File("E://java创建目录");
boolean b = file.mkdir();
if(b){
System.out.println("创建目录成功!");
file=new File("E://java创建目录//test.txt");
boolean m = file.createNewFile();
if(m){
System.out.println("创建文件成功!");
}else{
System.out.println("创建文件失败!");
}
}else {
System.out.println("创建目录失败!");
}
}
}
 package com.learn.chap10.sec02;

 import java.io.File;

 public class TestFile1 {
public static void main(String[] args) {
File file = new File("E://java创建目录//test.txt");
if(file.exists()){ // 假如文件存在
boolean a = file.delete(); // 删除文件
if(a){
System.out.println("文件删除成功!");
}else {
System.out.println("文件删除失败!");
}
} file = new File("E://java创建目录");
if(file.exists()){ // 假如目录存在
boolean m = file.delete(); // 删除目录(注意:delete只能删除空目录)
if(m){
System.out.println("目录删除成功!");
}else {
System.out.println("目录删除失败!");
}
} }
}
 package com.learn.chap10.sec02;

 import java.io.File;

 public class TestFile2 {
public static void listFile(File file){
if(file != null){
if(file.isDirectory()){
File[] a = file.listFiles(); // 遍历目录
if(a != null){
for (int i = 0; i < a.length; i++) {
listFile(a[i]); // 递归调用
}
}
}else {
System.out.println(file);
}
}
} public static void main(String[] args) {
listFile(new File("E://mywamp//apache//conf//original"));
}
}

再介绍字节流:

上下代码:

 package com.learn.chap10.sec03;

 import java.io.File;
import java.io.FileInputStream; import java.io.InputStream;
/**
* 字节流---文件输入流测试(流入内存:从磁盘读取至内存)
* 输入、输出是针对内存 (举例: 输入流 即数据从硬盘流向内存,也可说是从硬盘读取数据至内存)
* 读取、写入是针对磁盘
* @author Administrator
*
*/
public class Demo1 {
public static void main(String[] args) throws Exception {
File file=new File("E://测试文件.txt");
InputStream inputStream = new FileInputStream(file);
InputStream inputStream1 = new FileInputStream(file);
InputStream inputStream2 = new FileInputStream(file);
// 读取数据方法一
byte[] b=new byte[1024];
inputStream.read(b); // 读取数据方法二
int fileLength1 = (int)file.length();
byte[] b1=new byte[fileLength1];
inputStream1.read(b1); // 读取数据方法三
int fileLength = (int)file.length();
byte[] m=new byte[fileLength];
int temp =0;
int len=0;
while((temp=inputStream2.read()) != -1){
m[len++] = (byte)temp;
} inputStream.close(); // 关闭输入流
inputStream1.close(); // 关闭输入流
inputStream2.close(); // 关闭输入流
System.out.println("读取的内容为:"+new String(b));
System.out.println("读取的内容为:"+new String(b1));
System.out.println("读取的内容为:"+new String(m));
} }
 1 package com.learn.chap10.sec03;

 import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
/**
* 字节流---文件输出流测试
* @author Administrator
*
*/
public class Demo2 {
public static void main(String[] args) throws Exception {
File file=new File("E://测试文件.txt");
OutputStream out = new FileOutputStream(file,true);// 加true 表示追加
String string="呵呵呵呵12";
byte[] b=string.getBytes();
out.write(b);
out.close();
}
}
 package com.learn.chap10.sec03;

 import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream; /**
* 字节流---缓冲流和非缓冲流比较
* @author Administrator
*
*/
public class Demo3 {
/**
* 非缓存
* @throws Exception
*/
public static void stream() throws Exception{
InputStream inputStream=new FileInputStream("E://测试文件1.txt");
OutputStream outputStream=new FileOutputStream("E://测试文件2.txt");
int b=0;
long start_time = System.currentTimeMillis(); // 开始时间
while((b=inputStream.read()) != -1){
outputStream.write(b);
}
inputStream.close();
outputStream.close();
long end_time = System.currentTimeMillis(); // 结束时间
System.out.println("非缓存花费时间:"+(end_time-start_time)); } /**
* 缓冲流 节省时间 性能优
* @throws Exception
*/
public static void buffer_stream() throws Exception {
// 定义了一个带缓冲的字节输入流
BufferedInputStream bInputStream = new BufferedInputStream(new FileInputStream("E://测试文件1.txt"));
// 定义了一个带缓冲的字节输出流
BufferedOutputStream bOutputStream = new BufferedOutputStream(new FileOutputStream("E://测试文件2.txt"));
int b=0;
long start_time = System.currentTimeMillis(); // 开始时间
while((b=bInputStream.read()) != -1){
bOutputStream.write(b);
}
bInputStream.close();
bOutputStream.close();
long end_time = System.currentTimeMillis(); // 结束时间
System.out.println("缓存花费时间:"+(end_time-start_time));
} public static void main(String[] args) throws Exception {
stream();
buffer_stream();
}
}

再介绍下字符流:

上下代码:

 package com.learn.chap10.sec04;

 import java.io.File;
import java.io.FileReader;
import java.io.Reader;
/**
* 字符流----输入流
* @author Administrator
*
*/
public class Demo1 {
public static void main(String[] args) throws Exception {
File file=new File("E://测试文件1.txt");
Reader reader=new FileReader(file);
char[] c=new char[1024]; // 字符数组
// 方法一
int len=reader.read(c);

// 方法二
/*int temp=0;
int len=0;
while((temp=reader.read()) != -1){
c[len++] = (char)temp;
}*/
reader.close();
System.out.println("读取内容是:"+new String(c,0,len)); }
}

运行结果:

读取内容是:gffdhgfhgjhgjhgjhk
kukhjkhjk gfhfghgjhjhkjhkjhkjhkjhkj

 package com.learn.chap10.sec04;

 import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
/**
* 字符流----输出流
* @author Administrator
*
*/
public class Demo2 {
public static void main(String[] args) throws Exception {
File file=new File("E://测试文件1.txt");
Writer outWriter = new FileWriter(file,true);
String string="adffdsf";
outWriter.write(string); // 将字符串写入输出流
outWriter.close(); // 关闭数据流
}
}

Java之IO输入输出的更多相关文章

  1. JAVA基础--IO输入输出(File使用)17

    一. File中的方法 1.  列举方法 /* * 获取指定目录以及子目录下的所有文件和文件夹 */ public class ListFilesDemo { public static void m ...

  2. Java基础(十二)IO输入输出

    一.IO 概述 1.IO 概念 IO:I 代表 Input 输入:O 代表 Output 输出. Java 中 IO 是以流为基础进行输入输出,所有的数据被串行化(保存)写入输出流,或者从输入流读入. ...

  3. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  4. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  5. Java之IO流详解

    IO流 Input/Output 完成输入/输出 应用程序运行时——数据在内存中  ←→ 把数据写入硬盘(磁带)  内存中的数据不可持久保存的  输入:从外部存储器(硬盘.磁带.U盘)把数据读入内存. ...

  6. Java面向对象 IO (四)

     Java面向对象  IO  (四) 知识概要:                 (1)打印流 (2)序列流 SequenceInputStream (3)ObjectInputStream与Ob ...

  7. Java面向对象 IO (二)

     Java面向对象  IO   (二) 知识概要:               (1)字节流概述 (2)字节流复制图片 (3)IO流(读取键盘录入) (4)读取转换流,写入转换流 字节流概述   ...

  8. Java基础IO流(一)

    IO概念: 大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等.在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象 ...

  9. 【Java】IO Stream详细解读

    成鹏致远 | 2013年12月31日 什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流 ...

随机推荐

  1. IOS-Alcatraz(插件管理工具)

    一.简单说明 Alcatraz 是一款 Xcode的插件管理工具,可以用来管理XCode的 插件.模版以及颜色配置的工具. 二.如何安装 1.github地址:https://github.com/a ...

  2. QT中给程序加上主界面的图标

    首先在源码目录下面新建一个 myapp.rc的文件,在里面填写如下: IDI_ICON1 ICON DISCARDABLE "myappico.ico" (名字看自己的图片,注意图 ...

  3. L130

    Trump Administration Backs Asian-Americans in Harvard CaseThe United States Justice Department on Th ...

  4. 使用flowable 6.1.2 REST API 运行请假审批流程

    一.下载 flowable rest war 包 http://download.csdn.net/detail/teamlet/9913312 二.部署 复制flowable REST.war到To ...

  5. [置顶] 【机器学习PAI实践五】机器学习眼中的《人民的名义》

    一.背景 最近热播的反腐神剧"人民的名义"掀起来一波社会舆论的高潮,这部电视剧之所能得到广泛的关注,除了老戏骨们精湛的演技,整部剧出色的剧本也起到了关键的作用.笔者在平日追剧之余, ...

  6. canvas 绘制坐标轴

    结果: 代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...

  7. JMX心得 -- Server端

    关于什么是JMX,这里引用了网上找来的一个介绍:JMX(JavaManagement Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的代理和服务,实际上,用户可以在任何Ja ...

  8. Java中BIO,NIO,AIO的理解

    在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解.具体如下: 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 ...

  9. Python 字符串相似性的几种度量方法

    字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种 ...

  10. 《DSP using MATLAB》示例Example7.16

    代码: M = 60; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [ones(1, 7), 0.5925, 0.1099, zeros(1, ...