zoukankan      html  css  js  c++  java
  • java--进步学习IO

    import java.io.*;
    public class Demo1 {
        public static  void main(String []args) throws Exception{
            
            File fileOut = new File("Out.txt");
            File fileOut2 = new File("In.txt");
            BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
            
            //
            FileWriter fileWrite = new FileWriter(fileOut);//将从控制台读取的数据存入该文件
            FileWriter fileWrite2 = new FileWriter(fileOut2);//将从第一个文件中读取的数据保存至第二个文件
            
            //设置文件流的处理流
            
            BufferedWriter bfOut = new BufferedWriter(fileWrite);
            BufferedWriter bfOut2 = new BufferedWriter(fileWrite2);
            
    //        从控制台读入数据 写入第一个文件
            String string = bf.readLine();
            bfOut.write(string);
            bfOut.newLine();
            bfOut.close();
            File fileIn = new File("Out.txt");
            FileReader fileRead = new FileReader(fileIn);//从第一个文件中读取数据
            BufferedReader bfIn = new BufferedReader(fileRead);
            
    //        从第一个文件中读取数据,写入另外一个文件,同时展现在控制台中
            String string2 = bfIn.readLine();//读取
            bfOut2.write(string2);//写入
            System.out.println(string2);
            
    //        fileRead.close();
    //        fileWrite.close();
            bfIn.close();
            bfOut.close();
            bfOut2.close();
    
            
        }
    }

    废了好大的劲终于搞明白了,刚开始的时候,处理文件,同时定义两个流对象(一个打开一个关闭)指向同一个文件,这样就会导致同一个文件同时要被写入和读出,这样就会出现错误,类似于线程的同步性问题。

    另外,文件流在添加了处理流的套接的时候,可以只关闭处理流。

    文件的处理必须要关闭!!!flush()操作是很有帮助的。

  • 相关阅读:
    OC动态特性
    app之间的互相跳转
    将服务器返回的URL或者网址截取出来特定的字符,然后将字符返回,一般根据返回的字符判断用户是否登录等即时状态
    网络请求的封装
    代理传值
    sql脚本查询日期时间段日期
    SQL >日期函数
    Sql 中text类型字段判断是否为空
    修复IE9.0下PlaceHolder 属性问题js脚本
    迅雷专用下载的几种代码
  • 原文地址:https://www.cnblogs.com/plxx/p/3418895.html
Copyright © 2011-2022 走看看