2013-03-20 66 views
-4

我目前正在用Java创建一个csv文件。我有下面的代码,但似乎没有工作。使用java创建csv文件

String newFileName = "Temp" + fileName; 
File newFile = new File(newFileName); 

我不知道还能做些什么。我需要指定文件路径吗? 请帮忙。谢谢。

+0

是的,你需要指定文件路径。 – 2013-03-20 16:52:03

+0

由于缺乏知识,不值得投票太多。 – asgs 2013-03-20 16:54:43

+0

尝试阅读文档。您可以通过搜索“Java 7文件”并单击第一个结果来查找File API的文档。 – jahroy 2013-03-20 16:54:56

回答

4

java.io.File只是一个

的文件和目录路径名的抽象表示。

你必须使用FileWriter/PrintWriter/BufferedWriter创建磁盘上的实际物理文件。

有点儿像这样:

String newFileName = "Temp" + fileName; 
File newFile = new File(newFileName); 
BufferedWriter writer = new BufferedWriter(new FileWriter(newFile)); 
+1

您也可以使用File API中的[File.createNewFile()](http://docs.oracle.com/javase/6/docs/api/java/io/File.html#createNewFile())。 – jahroy 2013-03-20 18:32:54

2

看看Basic I/O tutorial。特别注意缓冲流部分。

您不需要指定文件的完整路径。

1

创建File实例不会在文件系统上创建文件。你只是得到一个句柄或引用它。您必须将内容添加到该文件并写入该文件,以便该文件实际上被写入您指定位置的磁盘。

阅读Reading, Writing, and Creating Files了解更多信息。另外,在进入NIO之前,如其他帖子提及,请阅读IO Streams

+0

我想创建一个空文件。 – user2026615 2013-03-20 17:03:26

+1

@ user2026615 - 您也可以使用File API中的File.createNewFile()。当你想使用Java类时,你应该总是查阅文档。你可以通过搜索“_Java 7 File_”找到任何类的文档(例如:File)。如果你点击第一个链接,你会看到大量的文档描述了你可以用File对象做的所有事情 – jahroy 2013-03-20 18:49:51

3

使用commons-csv来写入数据。来自test code

final FileWriter sw = new FileWriter("myfile.csv"); 
final CSVPrinter printer = new CSVPrinter(sw, format); 

for (int i = 0; i < nLines; i++) { 
    printer.printRecord(lines[i]); 
} 

printer.flush(); 
printer.close();