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()操作是很有帮助的。

  • 相关阅读:
    php多态
    ssl certificate problem: self signed certificate in certificate chain
    test plugin
    open specific port on ubuntu
    junit vs testng
    jersey rest service
    toast master
    use curl to test java webservice
    update folder access
    elk
  • 原文地址:https://www.cnblogs.com/plxx/p/3418895.html
Copyright © 2011-2022 走看看