用java怎么创建一个文件并向该文件写文本内容
2017-06-01 15:10
603 查看
最佳答案:
创建一个文本文件(注意:如果该文件存在,则会覆盖该文件)PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8"); writer.println("The first line"); writer.println("The second line"); writer.close();
创建一个二进制文件(同样会覆盖这文件)
byte data[] = ... FileOutputStream out = new FileOutputStream("the-file-name"); out.write(data); out.close();
Java 7+ 用户可以用
File类来写文件
创建一个文本文件
List<String> lines = Arrays.asList("The first line", "The second line"); Path file = Paths.get("the-file-name.txt"); Files.write(file, lines, Charset.forName("UTF-8")); //Files.write(file, lines, Charset.forName("UTF-8"), StandardOpenOption.APPEND);
创建一个二进制文件
byte data[] = ... Path file = Paths.get("the-file-name"); Files.write(file, data); //Files.write(file, data, StandardOpenOption.APPEND);
其他的答案(1):
在Java 7+中try (Writer writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("filename.txt"), "utf-8"))) { writer.write("something"); }
还有一些实用的方法如下:
FileUtils.writeStringtoFile(..)来自于
commons-io 包
Files.write(..)来自于
guava
Note also that you can use a FileWriter, but it uses the default encoding, which is often a bad idea - it's best to specify the encoding explicitly. 还要注意可以使用
FileWriter,但是它使用的是默认编码,这不是很好的方法,最好是明确指定编码
下面是来自于prior-to-java-7的原始方法
Writer writer = null; try { writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("filename.txt"), "utf-8")); writer.write("Something"); } catch (IOException ex) { // report } finally { try {writer.close();} catch (Exception ex) {/*ignore*/} }
可以看
Reading, Writing, and Creating Files(包含NIO2)
其他答案(2):
public class Program { public static void main(String[] args) { String text = "Hello world"; BufferedWriter output = null; try { File file = new File("example.txt"); output = new BufferedWriter(new FileWriter(file)); output.write(text); } catch ( IOException e ) { e.printStackTrace(); } finally { if ( output != null ) output.close(); } } }
其他答案(3):
如果已经有想要写到文件中的内容,java.nio.file.Files作为
Java 7 附加部分的native I/O,提供了简单高效的方法来实现你的目标
基本上创建文件,写文件只需要一行,而且是只需一个方法调用! 下面的例子创建并且写了6个不同的文件来展示是怎么使用的
Charset utf8 = StandardCharsets.UTF_8; List<String> lines = Arrays.asList("1st line", "2nd line"); byte[] data = {1, 2, 3, 4, 5}; try { Files.write(Paths.get("file1.bin"), data); Files.write(Paths.get("file2.bin"), data, StandardOpenOption.CREATE, StandardOpenOption.APPEND); Files.write(Paths.get("file3.txt"), "content".getBytes()); Files.write(Paths.get("file4.txt"), "content".getBytes(utf8)); Files.write(Paths.get("file5.txt"), lines, utf8); Files.write(Paths.get("file6.txt"), lines, utf8, StandardOpenOption.CREATE, StandardOpenOption.APPEND); } catch (IOException e) { e.printStackTrace(); }
其他答案(4):
下面是一个小程序来创建和写文件。该版本的代码比较长,但是可以容易理解import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; public class writer { public void writing() { try { //Whatever the file path is. File statText = new File("E:/Java/Reference/bin/images/statsTest.txt"); FileOutputStream is = new FileOutputStream(statText); OutputStreamWriter osw = new OutputStreamWriter(is); Writer w = new BufferedWriter(osw); w.write("POTATO!!!"); w.close(); } catch (IOException e) { System.err.println("Problem writing to the file statsTest.txt"); } } public static void main(String[]args) { writer write = new writer(); write.writing(); } }
原文地址:https://github.com/giantray/stackoverflow-java-top-qa/blob/master/contents/how-to-create-a-file-and-write-to-a-file-in-java.md
相关文章推荐
- JAVA中如何向创建一个文件并且向其中写入内容
- java对txt文本文件的复制粘贴(对文件内容进行了简单的修改)以行为一个处理单位
- java创建一个文件并写入内容
- eclipse有时新建一个PHP文件或者是HTML文件没有快捷键太麻烦了,总要用鼠标点 怎么创建自己的快捷键呢?
- Java创建一个临时文件方法
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
- java读写文件以及一个文件内容写入另外一个文件的方法
- java创建文本、文件、读文件、写文件
- java io实例一:将2个文件中的内容写入一个新的文件中
- JAVA 创建TXT文件,写入文件内容,读取文件内容
- java IO编程——复制一个文件中的内容到另一个文件
- java把一个文件的内容复制到另外一个文件
- 关于java中创建文件,并且写入内容
- 怎么用maven创建一个Java Web项目?
- 将一个指定目录下的java文件的绝对路径,存储到一个文本中
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- 用JAVA怎么打开一个非可执行的文件?
- java的JFileChooser上传一个Excel文件并读取该文件的内容
- 编写一个程序,从标准输入一行一行地读取文本,并完成如下任务:如果文件中有两行或更多行相邻的文本内容相同,那么就打印其中一行,其余行不打印。
- java 创建文件文本