1. import java.io.File;
  2. import java.io.IOException;
  3.  
  4. public class Demo11_1 {
  5.  
  6. public static void main(String[] args) {
  7. //创建一个文件对象
  8. //File f = new File("d:\\123.txt");
  9.  
  10. //得到文件的路劲
  11. //System.out.println("文件路径:"+f.getAbsolutePath());
  12. //得到文件的大小
  13. //System.out.println("文件大小"+f.length());
  14. //System.out.println("可读"+f.canRead());
  15.  
  16. //创建文件和创建文件夹
  17. //File f = new File("d:\\zy.txt");
  18. //if(!f.exists()){
  19. //可以创建
  20. // try {
  21. // f.createNewFile();
  22.  
  23. // } catch (IOException e) {
  24. // TODO Auto-generated catch block
  25. // e.printStackTrace();
  26. // }
  27. //}else{
  28. // System.out.println("已存在");
  29. //}
  30.  
  31. //File f = new File("d:\\ff\\zy.txt");
  32. //if(f.isDirectory()){
  33. // System.out.println("文件夹存在");
  34. //}else{
  35. // //创建
  36. // f.mkdir();
  37. //}
  38.  
  39. //列出一个文件夹下面的所有文件
  40. //File f = new File("d:\\ff");
  41. //if(f.isDirectory()){
  42. // File lists[] = f.listFiles();
  43. // for(int i=0;i<lists.length;i++){
  44. // System.out.println("文件名:"+lists[i].getName());
  45. // }
  46. //}
  47.  
  48. //测试在文件加下创建文件,并判断文件夹是否存在
  49. File f = new File("d:\\zy");
  50. if(f.exists()){
  51. System.out.println("文件夹存在");
  52.  
  53. }else{
  54. f.mkdir();
  55. }
  56. File fn = new File("d:\\zy\\zy.txt");
  57. if(fn.exists()){
  58. System.out.println("文件已存在");
  59. }else{
  60. System.out.println("文件不存在,创建文件");
  61. try {
  62. fn.createNewFile();
  63. } catch (IOException e) {
  64. // TODO Auto-generated catch block
  65. e.printStackTrace();
  66. }
  67. }
  68. }
  69. }
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.IOException;
  5.  
  6. /**
  7. * 演示FileInputStream类的使用
  8. * @author zy
  9. *
  10. */
  11. public class Demo11_2 {
  12. public static void main(String[] args) throws IOException {
  13.  
  14. File f = new File("d:\\123.txt");
  15. FileInputStream fis=null;
  16. try {
  17. fis = new FileInputStream(f);
  18. //定义一个字节数组
  19. byte[] bytes = new byte[1024];
  20. int n=0;
  21. //读取结束返回-1
  22. while((n=fis.read(bytes))!=-1){
  23. //把字节转换成string
  24. String s = new String(bytes,0,n);
  25. System.out.println(s);
  26. }
  27. } catch (FileNotFoundException e) {
  28. // TODO Auto-generated catch block
  29. e.printStackTrace();
  30. }finally{
  31. //关闭文件流
  32. fis.close();
  33.  
  34. }
  35.  
  36. }
  37.  
  38. }
  1. import java.io.File;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4.  
  5. /**
  6. * 演示FileOutputStream的使用
  7. * @author zy
  8. *
  9. */
  10. public class Demo11_3 {
  11.  
  12. public static void main(String[] args) {
  13.  
  14. File f = new File("d:\\test.txt");
  15. //判断文件是否存在
  16. if(!f.exists()){
  17. try {
  18. f.createNewFile();
  19. } catch (IOException e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. }
  23. }
  24. //字节输出
  25. FileOutputStream fos = null;
  26. try {
  27. fos = new FileOutputStream(f);
  28.  
  29. String s = "小灰灰\r\n";
  30. String sa = "喜洋洋";
  31. //定义数组
  32. //byte [] bytes=new byte[1024];
  33. //把string转换成bytes数组
  34.  
  35. fos.write(s.getBytes());
  36. fos.write(sa.getBytes());
  37. } catch (Exception e) {
  38. // TODO: handle exception
  39. }finally{
  40. try {
  41. fos.close();
  42. } catch (IOException e) {
  43. // TODO Auto-generated catch block
  44. e.printStackTrace();
  45. }
  46. }
  47. }
  48. }
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4.  
  5. public class Demo12_4 {
  6.  
  7. /**
  8. * @param args
  9. */
  10. public static void main(String[] args) {
  11. // TODO Auto-generated method stub
  12.  
  13. //先把图片读入到内存--》写入到某个文件
  14. //因为是二进制文件,因此只能用字节流完成
  15. //输入流
  16. //File f1=new File("E:\\1.jpg");
  17. FileInputStream fis=null;
  18. //输出流
  19. FileOutputStream fos=null;
  20. try {
  21. fis=new FileInputStream("e:\\1.jpg");
  22. fos=new FileOutputStream("f:\\1.jpg");
  23. byte buf[]=new byte[512];
  24. int n=0;//记录实际读取到的字节数
  25. //循环读取
  26. while((n=fis.read(buf))!=-1){
  27. //输出到指定文件
  28. fos.write(buf);
  29. }
  30.  
  31. } catch (Exception e) {
  32. e.printStackTrace();
  33. // TODO: handle exception
  34. }finally{
  35. //关闭打开的文件流
  36. try {
  37. fis.close();
  38. fos.close();
  39. } catch (Exception e2) {
  40. // TODO: handle exception
  41. }
  42. }
  43. }
  44.  
  45. }
  1. import java.io.FileReader;
  2. import java.io.FileWriter;
  3.  
  4. public class Demo12_5 {
  5.  
  6. /**
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. // TODO Auto-generated method stub
  11.  
  12. //文件取出字符流对象(输入流)
  13. FileReader fr=null;
  14. //写入到文件(输出流)
  15. FileWriter fw=null;
  16.  
  17. try {
  18. //创建fr对象
  19. fr=new FileReader("e:\\test.txt");
  20. //创建输出对象
  21. fw=new FileWriter("f:\\test.txt");
  22. int n=0;//记录实际读取的字符数
  23. //读入到内存
  24. char c[]=new char[1024];
  25. while((n=fr.read(c))!=-1){
  26. //String s=new String(c,0,n);//避免乱码
  27. //System.out.println(s);
  28. fw.write(c);
  29. }
  30. } catch (Exception e) {
  31. // TODO: handle exception
  32. }finally{
  33. try {
  34. fr.close();
  35. fw.close();
  36. } catch (Exception e2) {
  37. // TODO: handle exception
  38. }
  39. }
  40. }
  41.  
  42. }
  1. public class Demo12_6 {
  2.  
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8.  
  9. BufferedReader br=null;
  10. BufferedWriter bw=null;
  11. try {
  12. //先创建FileReder对象
  13. FileReader fr=new FileReader("e:\\test.txt");
  14. br=new BufferedReader(fr);
  15.  
  16. //创建FileWrite对象
  17. FileWriter fw=new FileWriter("f:\\test.txt");
  18. bw=new BufferedWriter(fw);
  19. //循环读取文件
  20. String s="";
  21. while((s=br.readLine())!=null)
  22. {
  23. //System.out.println(s);
  24. //输出到磁盘
  25. bw.write(s+"\r\n");
  26. }
  27. } catch (Exception e) {
  28. // TODO: handle exception
  29. }finally{
  30. try {
  31. br.close();
  32. bw.close();
  33. } catch (Exception e2) {
  34. // TODO: handle exception
  35. }
  36. }
  37. }
  38.  
  39. }

最近在研究IO的更多相关文章

  1. Java IO(1)基础知识——字节与字符

    正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...

  2. 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  3. 图解 Java IO : 一、File源码

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  4. [转] 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  5. blktrace分析IO

    http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...

  6. RAID中条带的概念

    raid把数据分成条带,一个条带横跨所有数据磁盘,每个磁盘上存储条带的一部分,称为sagment,也称为条带深度.一个条带包含的扇区或块的个数,称为条带长度. raid向操作系统提供的是卷,是连续的扇 ...

  7. oracle AWR详解

    原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...

  8. VS2015编译GEOS

    下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...

  9. Java IO流关闭问题的深入研究

    转自:https://blog.csdn.net/maxwell_nc/article/details/49151005 前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记 ...

随机推荐

  1. Reactor系列(四)subscribe订阅

    #java# #reactor# #subcribe# #订阅# 视频讲解 :https://www.bilibili.com/video/av79117693/ FluxMonoTestCase.j ...

  2. vue2.0 + npm + webpack 开发===环境配置

     cnpm安装:npm install -g cnpm --registry=http://registry.npm.taobao.org 1.安装vue-cli脚手架构建工具cnpm install ...

  3. ######【Python】【基础知识】【一些未知的知识点】######

    在查资料.看书过程中遇到的一些未知的领域.知识点: 1.模仿静态变量 可参考: https://www.runoob.com/python/python-exercise-example41.html ...

  4. [转帖]IBM开源Power指令集:国产高性能CPU迎来新机遇?

    IBM开源Power指令集:国产高性能CPU迎来新机遇? https://www.cnbeta.com/articles/tech/880971.htm cnbeta的新闻.. 希望高性能CPU 能快 ...

  5. (九)springMvc 的 post 提交乱码

    #post 提交乱码 在 web.xml 配置下 过滤器 : <!--解决 post 乱码问题,--> <filter> <filter-name>characte ...

  6. loj 10117 简单题

    #include<iostream> #include<cstdio> #include<cctype> using namespace std; inline i ...

  7. AC自动机fail树上dfs序建线段树+动态memset清空

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=4117 思路:https://blog.csdn.net/u013306830/article/detail ...

  8. 15.Ansible安装与配置简单版

    Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用.安装软件.执行命令.配置和编排任务. 一.Ansible工作机制 从图中可 ...

  9. java包装类的缓存机制(转)

    出处: java包装类的缓存机制 java 包装类的缓存机制,是在Java 5中引入的一个有助于节省内存.提高性能的功能,只有在自动装箱时有效 Integer包装类 举个栗子: Integer a = ...

  10. LibSVM格式简介

    对于训练或预测,XGBoost采用如下格式的实例文件: train.txt 1 101:1.2 102:0.03 0 1:2.1 10001:300 10002:400 0 0:1.3 1:0.3 1 ...