首页 / JAVA / Java之IO输入输出
Java之IO输入输出
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java之IO输入输出,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6120字,纯文字阅读大概需要9分钟。
内容图文
首先介绍File类:
我们直接上代码:
1 package com.learn.chap10.sec02; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 /** 7 * 测试创建目录和文件 8 * @author Administrator 9 * 10 */ 11 public class TestFile { 12 public static void main(String[] args) throws IOException { 13File file=new File("E://java创建目录"); 14boolean b = file.mkdir(); 15if(b){ 16 System.out.println("创建目录成功!"); 17file=new File("E://java创建目录//test.txt"); 18boolean m = file.createNewFile(); 19if(m){ 20 System.out.println("创建文件成功!"); 21 }else{ 22 System.out.println("创建文件失败!"); 23 } 24 }else { 25 System.out.println("创建目录失败!"); 26 } 27 } 28 }
1 package com.learn.chap10.sec02; 2 3 import java.io.File; 4 5 public class TestFile1 { 6 public static void main(String[] args) { 7 File file = new File("E://java创建目录//test.txt"); 8if(file.exists()){ // 假如文件存在 9boolean a = file.delete();// 删除文件10if(a){ 11 System.out.println("文件删除成功!"); 12 }else { 13 System.out.println("文件删除失败!"); 14 } 15 } 1617 file = new File("E://java创建目录"); 18if(file.exists()){ // 假如目录存在19boolean m = file.delete(); // 删除目录(注意:delete只能删除空目录)20if(m){ 21 System.out.println("目录删除成功!"); 22 }else { 23 System.out.println("目录删除失败!"); 24 } 25 } 2627 } 28 }
1 package com.learn.chap10.sec02; 2 3 import java.io.File; 4 5 public class TestFile2 { 6 public static void listFile(File file){ 7 if(file != null){ 8if(file.isDirectory()){ 9File[] a = file.listFiles();// 遍历目录10if(a != null){ 11for (int i = 0; i < a.length; i++) { 12 listFile(a[i]); // 递归调用13 } 14 } 15 }else { 16 System.out.println(file); 17 } 18 } 19 } 2021publicstaticvoid main(String[] args) { 22 listFile(new File("E://mywamp//apache//conf//original")); 23 } 24 }
再介绍字节流:
上下代码:
1 package com.learn.chap10.sec03; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 6 import java.io.InputStream; 7 /** 8 * 字节流---文件输入流测试(流入内存:从磁盘读取至内存) 9 * 输入、输出是针对内存 (举例: 输入流 即数据从硬盘流向内存,也可说是从硬盘读取数据至内存) 10 * 读取、写入是针对磁盘 11 * @author Administrator 12 * 13 */ 14 public class Demo1 { 15 public static void main(String[] args) throws Exception { 16 File file=new File("E://测试文件.txt"); 17InputStream inputStream = new FileInputStream(file); 18 InputStream inputStream1 = new FileInputStream(file); 19 InputStream inputStream2 = new FileInputStream(file); 20// 读取数据方法一21byte[] b=new byte[1024]; 22 inputStream.read(b); 2324// 读取数据方法二25int fileLength1 = (int)file.length(); 26byte[] b1=newbyte[fileLength1]; 27 inputStream1.read(b1); 2829// 读取数据方法三30int fileLength = (int)file.length(); 31byte[] m=newbyte[fileLength]; 32int temp =0; 33int len=0; 34 while((temp=inputStream2.read()) != -1){ 35m[len++] = (byte)temp; 36 } 373839 inputStream.close(); // 关闭输入流40 inputStream1.close(); // 关闭输入流41 inputStream2.close(); // 关闭输入流42 System.out.println("读取的内容为:"+new String(b)); 43 System.out.println("读取的内容为:"+new String(b1)); 44 System.out.println("读取的内容为:"+new String(m)); 45 }
46 }
1 package com.learn.chap10.sec03; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.OutputStream; 6 /** 7 * 字节流---文件输出流测试 8 * @author Administrator 9 * 10 */ 11 public class Demo2 { 12 public static void main(String[] args) throws Exception { 13 File file=new File("E://测试文件.txt"); 14OutputStream out = new FileOutputStream(file,true);// 加true 表示追加15 String string="呵呵呵呵12"; 16byte[] b=string.getBytes(); 17 out.write(b); 18 out.close(); 19 } 20 }
1 package com.learn.chap10.sec03; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOutputStream; 5 import java.io.FileInputStream; 6 import java.io.FileOutputStream; 7 import java.io.InputStream; 8 import java.io.OutputStream; 9 10 /** 11 * 字节流---缓冲流和非缓冲流比较 12 * @author Administrator 13 * 14 */ 15 public class Demo3 { 16 /** 17 * 非缓存 18 * @throws Exception 19 */ 20 public static void stream() throws Exception{ 21InputStream inputStream=new FileInputStream("E://测试文件1.txt"); 22OutputStream outputStream=new FileOutputStream("E://测试文件2.txt"); 23int b=0; 24long start_time = System.currentTimeMillis(); // 开始时间25while((b=inputStream.read()) != -1){ 26 outputStream.write(b); 27 } 28 inputStream.close(); 29 outputStream.close(); 30long end_time = System.currentTimeMillis(); // 结束时间31 System.out.println("非缓存花费时间:"+(end_time-start_time)); 3233 } 3435/**36 * 缓冲流 节省时间 性能优 37 * @throws Exception 38*/39publicstaticvoid buffer_stream() throws Exception { 40// 定义了一个带缓冲的字节输入流41BufferedInputStream bInputStream = new BufferedInputStream(new FileInputStream("E://测试文件1.txt")); 42// 定义了一个带缓冲的字节输出流43BufferedOutputStream bOutputStream = new BufferedOutputStream(new FileOutputStream("E://测试文件2.txt")); 44int b=0; 45long start_time = System.currentTimeMillis(); // 开始时间46while((b=bInputStream.read()) != -1){ 47 bOutputStream.write(b); 48 } 49 bInputStream.close(); 50 bOutputStream.close(); 51long end_time = System.currentTimeMillis(); // 结束时间52 System.out.println("缓存花费时间:"+(end_time-start_time)); 53 } 5455publicstaticvoid main(String[] args) throws Exception { 56 stream(); 57 buffer_stream(); 58 } 59 }
再介绍下字符流:
上下代码:
1 package com.learn.chap10.sec04; 2 3 import java.io.File; 4 import java.io.FileReader; 5 import java.io.Reader; 6 /** 7 * 字符流----输入流 8 * @author Administrator 9 * 10 */ 11 public class Demo1 { 12 public static void main(String[] args) throws Exception { 13 File file=new File("E://测试文件1.txt"); 14Reader reader=new FileReader(file); 15char[] c=new char[1024];// 字符数组 16// 方法一17int len=reader.read(c); 1819// 方法二20/*int temp=0; 21 int len=0; 22 while((temp=reader.read()) != -1){ 23 c[len++] = (char)temp; 24 }*/25 reader.close(); 26 System.out.println("读取内容是:"+new String(c,0,len)); 2728 } 29 }
运行结果:
读取内容是:gffdhgfhgjhgjhgjhk
kukhjkhjk gfhfghgjhjhkjhkjhkjhkjhkj
1 package com.learn.chap10.sec04; 2 3 import java.io.File; 4 import java.io.FileWriter; 5 import java.io.Writer; 6 /** 7 * 字符流----输出流 8 * @author Administrator 9 * 10 */ 11 public class Demo2 { 12 public static void main(String[] args) throws Exception { 13 File file=new File("E://测试文件1.txt"); 14Writer outWriter = new FileWriter(file,true); 15 String string="adffdsf"; 16outWriter.write(string);// 将字符串写入输出流17 outWriter.close();// 关闭数据流18 } 19 }
原文:http://www.cnblogs.com/eaglezb/p/6006374.html
内容总结
以上是互联网集市为您收集整理的Java之IO输入输出全部内容,希望文章能够帮你解决Java之IO输入输出所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。