java中可以允许多个流同时对文件进行操作吗?我有段代码出现问题,就是同时对一个文件建立读取流和写入流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中可以允许多个流同时对文件进行操作吗?我有段代码出现问题,就是同时对一个文件建立读取流和写入流相关的知识,希望对你有一定的参考价值。

FileReader fr = new FileReader(f);
FileWriter fw = new FileWriter(f);
prop.load(fr);
System.out.println(prop); //为空
prop.list(System.out); //为空
String value = prop.getProperty("visittimes");
System.out.println("得到的times值是:"+value); //为空

但是这样写就正常:
FileReader fr = new FileReader(f);
//FileWriter fw = new FileWriter(f);
prop.load(fr);
System.out.println(prop);
prop.list(System.out);
String value = prop.getProperty("visittimes");
System.out.println("得到的times值是:"+value);
我想知道,是不是,对一个文件建立读取流的时候,要等所有读操作完成后,才能建立写入流?即使不进行任何写入操作。

参考技术A 不是的。你的代码有问题,大概位置在FileWriter和System.out引起冲突,你可以参看“java编程思想”一书。等你看完后你就对java了解的比较全面了。追问

只要不同时对一个文件建立读取流和写入流,程序是可以运行的,下面的代码就能够正确运行。System.out类型是PrintStream,没什么冲突的。

追答

去看java编程思想中关于此方面的,不要懒哦

参考技术B 一般来说。。写操作会设置成线程同步的 参考技术C 这个肯定是不可以的..

以上是关于java中可以允许多个流同时对文件进行操作吗?我有段代码出现问题,就是同时对一个文件建立读取流和写入流的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程详述

agora.io 是不是可以同时托管多个流?

什么是JAVA的多线程?

Java的IO的类都有哪些?都有啥用?

Java IO流

安全地返回对内部节点的多个引用,同时仍然允许其他节点的突变