Java 将字符串数据读写到文件

Java 将字符串数据读写到文件,java,Java,如何使用单行代码将字符串数据读写到文件中,而不使用commons io.jar或任何其他api和 无需使用复杂的代码BufferedReader和InputStreamReader。您可以使用以下行在一个字符串中读取文件的所有内容 String content = new Scanner(new File(filepath)).useDelimiter("\\Z").next(); 使用java.util.Scanner 供写操作使用 PrintWriter printWriter=new P

如何使用单行代码将字符串数据读写到文件中,而不使用commons io.jar或任何其他api和


无需使用复杂的代码BufferedReader和InputStreamReader。

您可以使用以下行在一个字符串中读取文件的所有内容

String content = new Scanner(new File(filepath)).useDelimiter("\\Z").next();
使用
java.util.Scanner

供写操作使用

PrintWriter printWriter=new PrintWriter("filename").append("content");

使用
java.nio.file
包中的类怎么样

String s = new String(Files.readAllBytes(Paths.get("input.txt")));
如果要将从
readAllBytes
获得的字节写入文件,可以使用

Files.write(Paths.get("output.txt"), s.getBytes(), StandardOpenOption.CREATE);
或不带
s
字符串

Files.write(Paths.get("output.txt"),
        Files.readAllBytes(Paths.get("input.txt")),
        StandardOpenOption.CREATE);
但在这种情况下,
Files.copy(源、目标、选项)
似乎是更好的选择:

Files.copy(Paths.get("input.txt"), Paths.get("output.txt"),
        StandardCopyOption.REPLACE_EXISTING);

java.nio.file.Files
包中有大量方便的方法,例如

  • )

但是你也应该考虑使用,它返回一个<代码>流<代码>,这将允许你懒惰地读取这些行并处理它们,而不必将整个文件加载到堆上。

看起来,它只是你感兴趣的语法糖。给你:

// write
new PrintWriter("the-file-name.txt", "UTF-8").append("this string").close();

// read
String thisStr = new BufferedReader(new FileReader("the-file-name.txt")).readLine();
System.out.println(thisStr);

“不使用复杂的代码
BufferedReader
…”``以及它可能泄漏的开放流,至少是糟糕的样式。异常处理
IOException
??@关于
IOException
-此函数(这些语句是其部分)可能会抛出一个。感谢给出答案,它在jdk 1.7中可用,但不幸的是,我正在处理jdk 1.6中的文件类。这是非常重要的信息,所以应该在您的问题中提及:/(在Java 8的时代,谁会猜得到呢)。