Java 必知必会 第 39 篇
how to create a file and write to a file in java
创建一个文本文件(注意:如果该文件存在,则会覆盖该文件)
PrintWriter writer = new PrintWriter(", "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 = (");
Files.write(file, lines, Charset.forName("UTF-8"));
//Files.write(file, lines, Charset.forName("UTF-8"), StandardOpenOption.APPEND);
创建一个二进制文件
byte data[] = ...
Path file = ("the-file-name");
Files.write(file, data);
//Files.write(file, data, StandardOpenOption.APPEND);
在Java 7+中
try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("), "utf-8"))) {writer.write("something");
}
还有一些实用的方法如下:
FileUtils.writeStringtoFile(..)
来自于 commons-io 包Files.write(..)
来自于 guavaNote 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("), "utf-8"));writer.write("Something");
} catch (IOException ex) {// report
} finally {try {writer.close();} catch (Exception ex) {/*ignore*/}
}
可以看Reading, Writing, and Creating Files
(包含NIO2)
public class Program {public static void main(String[] args) {String text = "Hello world";BufferedWriter output = null;try {File file = new File(");output = new BufferedWriter(new FileWriter(file));output.write(text);} catch ( IOException e ) {e.printStackTrace();} finally {if ( output != null ) output.close();}}
}
如果已经有想要写到文件中的内容,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.("file1.bin"), data);Files.("file2.bin"), data,StandardOpenOption.CREATE, StandardOpenOption.APPEND);Files.("), "content".getBytes());Files.("), "content".getBytes(utf8));Files.("), lines, utf8);Files.("), lines, utf8,StandardOpenOption.CREATE, StandardOpenOption.APPEND);
} catch (IOException e) {e.printStackTrace();
}
下面是一个小程序来创建和写文件。该版本的代码比较长,但是可以容易理解
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/");FileOutputStream is = new FileOutputStream(statText);OutputStreamWriter osw = new OutputStreamWriter(is); Writer w = new BufferedWriter(osw);w.write("POTATO!!!");w.close();} catch (IOException e) {println("Problem writing to the ");}}public static void main(String[]args) {writer write = new writer();write.writing();}
}
本文发布于:2024-01-27 17:44:03,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063486431714.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |