关于Java IO创建文件问题!

File file=new File("abc.txt"); //怎么直接就能创建出文件了?
file.createNewFile(); //还有什么用,什么情况下会抛异常? 如果abc.txt存在了,会抛异常吗?

第1个回答  2014-12-11
File file=new File("abc.txt"); 这种方式,即使abc.txt文件已经存在,程序还是会创建一个新的文件把已经存在的同名文件覆盖,不会抛出异常。
file.createNewFile(); 这个也是创建文件,不过它有返回值,如果同名文件已经存在,那么就会返回false,代表创建文件失败,否则返回true,代表创建文件成功,file.createNewFile(); 这个方法需要处理IO异常。追问

我只运行File file=new File("abc.txt"); 硬盘是不会出现文件的,
我是运行的File file=new File("abc.txt"); RandomAccessFile raf=new RandomAccessFile(file, "rw");文件才出来的。 那么第二行代码能创建文件吗? 不是说一行代码中,如果文件不存在就抛异常的吗?为什么自己创建了?

追答

两个可以一起写的,你在执行这两句代码之前你就把abc.txt文件创建,你就可以看到效果了。

第2个回答  2014-12-11
1:没有创建文件

2:创建文件。路径错了,会抛异常。存在不会抛异常。只是会创建失败追问

当运行File file=new File("abc.txt"); RandomAccessFile raf=new RandomAccessFile(file, "rw");硬盘上会出现文件。 那么第二行代码能创建文件吗? 不是说第二行代码中,如果文件不存在就抛异常的吗?为什么自己创建了?

追答

这和你传的参数有关。rw代表读和写。既然有w(写) 那就代表需要创建文件。如果存在了,则和createNewFile一样,只会失败。不会报错。

如果你只传个r。那就不会创建文件。但是如果路径错误就会抛出异常。

追问

谢谢你 , 是你所说的这样去掉w就创建不了了, 但是还有一个问题, 那就是如果按照我这种方式写的话,应该永远都不可能出现路径错误吧?

追答

File file=new File("abc.txt"); 只要这个路径是对的。的确存在abc.txt文件。那就不会出现路径错误。

本回答被提问者采纳
第3个回答  2014-12-11
File file=new File("d:/test111/aaa.txt");
file.createNewFile();//创建文件,如果d:下没有test111这个文件夹就会抛出异常追问

如果aaa.txt已经有的话,会不会抛出异常?

追答

不会,会覆盖之前的文件

追问

不会覆盖!

追答

第4个回答  2014-12-11
不会吧,你是两句一起写了吧。
先判断文件存不存在
不存在就
file.createNewFile();追问

两个一起写,也没出现异常,把第二个删除了,文件也创建出来了!

本回答被网友采纳
第5个回答  2014-12-11
方法有很多,各有各的好处,不会,会覆盖!追问

貌似好像不会覆盖!

总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇_百度知...
为了解决传统IO创建文件夹中异常处理不明确的问题,Java NIO进行了改进。NIO提供两个创建文件夹的API:Files.createDirectory()和Files.createDirectories()。使用NIO API创建文件夹时,返回值为Path类型,这使得我们可以在创建文件夹后继续进行如写入文件等操作,相比传统IO的boolean值返回方式更为方便。总结...

关于Java IO创建文件问题!
file.createNewFile(); 这个也是创建文件,不过它有返回值,如果同名文件已经存在,那么就会返回false,代表创建文件失败,否则返回true,代表创建文件成功,file.createNewFile(); 这个方法需要处理IO异常。

Java中io操作,必须先创建文件夹再创建文件吗
需要先【存在】文件夹,才能再创建文件。当然,如果文件夹【不存在】,那么就需要先创建文件夹,再创建文件 比如 : c盘已经存在,所以才能创建C盘下的文件 File file = new File("c:\\\\abc.txt");file.createNewFile();\/\/创建文件File file = new File("c:\\\\test\\\\abc.txt");file.createNe...

java如何创建多级文件夹
1、创建一个类:TestFile.java 2、声明main函数 3、创建一个File对象,传入“f:\/a\/b”4、调用File对象的mkdirs()方法 5、运行程序,打开f盘,可以看到多级文件夹已经创建成功

Java IO 问题 创建一个新文件夹。 并且写入一个文件
\/ public static void readFileByBytes(String fileName) { File file = new File(fileName);InputStream in = null;try { System.out.println("以字节为单位读取文件内容,一次读一个字节:");\/\/ 一次读一个字节 in = new FileInputStream(file);int tempbyte;while ((tempbyte = in.read(...

Java编程:文件IO操作之创建文件时目录必须存在
详情请查看视频回答

java io遍历目录,在造出java文件,并读出内容?
public static void main(String[] args) throws IOException { File file = new File("E:\/JavaExercise\/eclipse-workspace\/0801\/src");File[] files = file.listFiles();\/\/FileInputStream fis = new FileInputStream(file + "\/");FileInputStream fis = null;if (files != null && files....

请问用java创建一个TXT文件,文件里写“你好”,代码怎么写
import java.io.IOException;import java.io.RandomAccessFile;public class IoExample { public static void main(String[] args) { File file = new File("path\/to\/your\/txt\/file.txt"); \/\/ Replace with the desired file path String content = "你好"; \/\/ The content to write into the...

android、java io写入文件,文件是空白的
你最大只读了1024字节,如果文件大于1024字节你剩下的就没进行读写。 byte[] b = new byte[1024];\/\/1 File file1 = new File(sourceFile); File file2 = new File(copyFile); FileInputStream fis = new FileInputStream(file1); FileOutputStream fos = new FileOutputStream(file2); ...

java中关于io流的问题
1 遍历 目录树,找到每一个.txt文件,每当找到一个txt时,启动一个新线程,解密,找出tarena所在行,并保存相关数据在内存如hashmap中,2 应用程序从hashmap中直接获取所有的内容 这种策略牺牲的是读的时间 其他差不多 第三种策略 使用lucene框架,主要是针对每个文件建立分词索引,这里意义不大,所以...

相似回答