文件路径4种写法:
相对路径,相对当前而言,在当前路径下找:
String filePath = "temp01"; 
绝对路径:
String filePath = "D:\\course\\JavaProjects\\02-JavaSE\\chapter08\\temp01";//普通写法,需要用转义字符
String filePath = "D:/course/JavaProjects/02-JavaSE/chapter08/temp01";//反斜杠写法,windows系统下支持
        String filePath = "D:"+File.separator+"course"+File.separator+"JavaProjects"+File.separator+
                           "02-JavaSE"+File.separator+"chapter08"+File.separator+"temp01";//最标准写法:用系统相关默认名称分隔符
输入输出流标准写法:
        1、创建流对象:
              创建输入流对象会抛出FileNotFoundException异常,该异常可以细化处理
              创建输出流对象时若文件不存在则自动创建,默认为覆盖写入,如果要追加方式写入,在构造方法参数列表后加一个true
        2、进行读写操作:抛出IOException
        3、关闭流对象:抛出IOException
字符流和字节流:
        字节流可以用于所有文件
        字符流编程比较方便(可用readline方法),但只能用于纯文本文件
copy代码范例(字节流):
        FileInputStream fIn = null;
        FileOutputStream fOut = null;
        byte[] buff = new byte[1024];
        int temp = 0;
        try
        {
            //定义输入流对象,会抛出FileNotFoundException
            fIn = new FileInputStream("F://test//1.avi");
            //定义输出流对象,文件不存在则自动创建,如果要追加方式写入,在构造方法参数列表后加一个true
            fOut = new FileOutputStream("F://test//2.avi");
            //读写的操作
            while((temp = fIn.read(buff)) != -1)
            {
                fOut.write(buff, 0, temp);
            }
            fOut.flush();//为了保证数据完全写入硬盘,推荐用强制刷新写入
        }catch(FileNotFoundException e)//输入流抛出异常的细化处理
        {
            e.printStackTrace();
        }catch(IOException e)//读写操作的异常处理
        {
            e.printStackTrace();
        }finally//关闭流对象,写在finally语句块中确保一定执行
        {
            if(fIn!=null)//防止空指针异常
            {
                try
                {
                    fIn.close();
                }catch(IOException e)
                {
                    e.printStackTrace();
                }
            }
            if(fOut!=null)
            {
                try
                {
                    fOut.close();
                }catch(IOException e)
                {
                    e.printStackTrace();
                }
            }

}

copy不规范代码(字符流使用readline):
        BufferedReader br = new BufferedReader(new FileReader("Copy03.java"));
        BufferedWriter bw = new BufferedWriter(new FileWriter("c:/Copy03.java"));
        String temp = null;
        int count = 0;//用于防止在文件最后写一个换行符
        while(true)
        {
            count++;
            temp = br.readLine();
            if(temp==null)
            {
                break;
            }
            if(count>1)
            {
                bw.newLine();//如果不写换行符,文件不会换行
            }
            bw.write(temp);
        }
        bw.flush();
        br.close();

bw.close();

 
 
 
 

8.23.2 IO-输入输出规范代码的更多相关文章

  1. JAVA_SE基础——编码规范&代码编写规则

    这次我来给大家说明下编码规范&代码编写规则  ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...

  2. PHP团队 编码规范 & 代码样式风格规范

    一.基本约定 1.源文件 (1).纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> : (2).源文件中PHP代码的编码格式必须是无BOM的UTF-8格式: (3).使用 U ...

  3. linux io的cfq代码理解

    内核版本: 3.10内核. CFQ,即Completely Fair Queueing绝对公平调度器,原理是基于时间片的角度去保证公平,其实如果一台设备既有单队列,又有多队列,既有快速的NVME,又有 ...

  4. C++(四十六) — 异常处理机制、标准IO输入输出

    1.异常处理机制 一般来说,异常处理就是在程序运行时对异常进行检测和控制.而在C++ 中,使用 try-throw-catch模式进行异常处理的机制. #include<iostream> ...

  5. Java中23种设计模式(附代码样例)

    一.设计模式分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式.结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组 ...

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

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

  7. Python规范:代码规范要注意

    主要有以下两种代码规范 <8 号 Python 增强规范>(Python Enhacement Proposal #8),以下简称 PEP8: <Google Python 风格规范 ...

  8. 作业三 代码规范 代码复审 PSP

    1.是否需要有代码规范(5分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 1这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反对.我并不认为代码规范都 ...

  9. 个人博客作业-Week2 (代码规范, 代码复审)

    代码规范: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 编码规范它包含了代码格式,还包括了编码风格和其他规范,通常涉及:缩进.空格使用.Tab使用 注释. ...

随机推荐

  1. linux中grep命令的用法

    作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的. 首先谈一下grep命令的常用格式为:[grep  [选项]  "模式"  [ ...

  2. java 一款可以与ssm框架完美整合的web报表控件

    硕正套件运行于客户端(浏览器),与应用服务器(Application Server)技术无关,所以能完全用于J2EE. ASP.Net.php等技术开发的Web应用产品中. 硕正套件部署于服务器,支持 ...

  3. Scala关于软件的安装

    1.安装JDK 因为很多系统都会预装java,所以我们首先要测试Java版本.这里我们要求要在1.8以上.在终端输入java -version来测试版本 Windows 关于Windows,我们首先要 ...

  4. struts2教程&实例

    1.第一个struts2项目 参考官方配置 http://struts.apache.org/getting-started/ github地址:https://github.com/unbeliev ...

  5. 【菜鸟入门】安装配置eclipse 并编写运行第一个Java程序

    不得不吐槽一下,安装配置这eclipse真是太费劲了...下面总结一下,以便下次再安装 本人 win10系统,64位机 一.在官网下载eclipse安装包 文件名:eclipse-inst-win64 ...

  6. Kafka笔记——技术点汇总

    Table of contents Table of contents Overview Introduction Use cases Manual setup Assumption Configur ...

  7. input复选框操作的部分高频率使用代码

    1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $("input:[type='checkb ...

  8. Spring源码情操陶冶-AbstractApplicationContext#prepareBeanFactory

    阅读源码有助于陶冶情操,本文承接Spring源码情操陶冶-AbstractApplicationContext#obtainFreshBeanFactory 瞧瞧官方注释 /** * Configur ...

  9. 3.如何安装Apache Spark

    如何安装Apache Spark 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹 ...

  10. BFC基础分析

    W3C官方对于BFC的描述只有3小段,强烈建议想理解BFC的朋友先去看看,链接见文末. 常见的文档流分为:定位流.浮动流.普通流3种.BFC是普通流中的一种. 本文提出3个问题并给出使用BFC来解决这 ...