在 Java 中将字符串保存到文件

本文将介绍在 Java 中将字符串写入文件的方法。

在 Java 中使用 PrintWriter 类将字符串写入到文件中

要将字符串写入文件,我们可以使用 PrintWriter 类。该类的构造函数创建一个具有指定名称作为参数的文件。

如果字符串不存在,或者我们无法创建文件,或者在打开或创建文件时发生其他错误,则构造函数将抛出 FileNotFoundException

println() 函数将在文件中打印字符串并终止一行。

close() 方法将关闭流并释放与之关联的系统资源。

package writeStringToFile;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Objects;
public class WriteStringToFile {
    public static void main(String[] args) {
        PrintWriter printWriter = null;
        String textToBeWritten = "Hello";
        {
            try {
                printWriter = new PrintWriter("writerFile.txt");
            } catch (FileNotFoundException e) {
                System.out.println("Unable to locate the fileName: " + e.getMessage());
            }
            Objects.requireNonNull(printWriter).println(textToBeWritten);
            printWriter.close();
        }
    }
}

使用 Java7 的 Files 类将字符串写入文件

Files 类仅包含对文件,目录或其他类型的文件进行操作的静态方法。write() 方法将字节写入文件。选项参数指定如何创建或打开文件。如果不存在任何选项,则此方法的工作方式就像已经存在 CREATETRUNCATE_EXISTINGWRITE 选项一样。

该方法有两个参数,pathbyte

path 指定目标文件的路径。getBytes() 方法将字符串转换为 Byte 格式。

如果在写入或创建文件时发生错误,该方法将引发 IOException

package writeStringToFile;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class WriteStringToFileJava7 {
    public static void main(String[] args) throws IOException {
        String contentToWrite = "Hello File!";
        String path = "C:\IdeaProjects\JavaProblems\src\main\java\writeStringToFile\target\targetFile.txt";
        Files.write(Paths.get(path), contentToWrite.getBytes());
    }
}

使用 Java 中的 FileWriter 类将字符串写入文件

BufferedWriter 类创建一个使用默认大小的输出缓冲区的缓冲区字符输出流。它以任何 writer 对象为参数。FileWriter 类构造函数采用文件名,该文件名是存储字符串的目标。write 方法将文本写入对象中的关联文件。当文件不可放置时,此方法将引发 IOException

现在,在 finally 块中,应该释放用于输入和输出操作的资源。close 方法还会抛出 IOException 类,因此我们应该在 try-catch 块中使用 close 函数,或者在父方法中添加 throws 子句。

package writeStringToFile;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFileUsingFileWriter {
    public static void main(String[] args) throws IOException {
        BufferedWriter bufferedWriter = null;
        try {
            bufferedWriter = new BufferedWriter(new FileWriter("targetFile"));
            bufferedWriter.write("Hey! Content to write in File");
        } catch (IOException e) {
            System.out.println("Exception occurred: " + e.getMessage());
        } finally {
            if (bufferedWriter != null)
                bufferedWriter.close();
        }
    }
}

在 JavaScript 中将字符串编码和解码为 Base64

在 JavaScript 中将字符串编码和解码为 Base64

在 JavaScript 中,我们有两个 Base64 辅助函数,btoa() 和 atob(),用于将字符串转换为 Base64 编码,反之亦然。btoa() 接受一个字符串并将其编码为 Base64,而 atob() 接受一个编码字符串并对其进行解码。

在下面的代码中,我们有两个 div 元素,我们将在其中显示编码和解码的字符串。我们使用 JavaScript 中的 getElementById() 方法将这两个 div 的引用存储在 myDiv_1 和 myDiv_2 中。我们将在本例中编码和解码的字符串是存储在 str 变量中的 Git。

为了编码这个字符串,我们将使用 btoa() 函数。为此,只需将 str 变量作为参数传递给该函数。我们将把这个结果存储在 encodedStr 变量中。然后我们将使用 myDiv_1.innerHTML 属性在 div_1 中显示此变量的值。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Document</title>
</head>
<body>

  <div id="div_1"></div>
  <div id="div_2"></div>
  
  <script>
      let myDiv_1 = document.getElementById('div_1');
      let myDiv_2 = document.getElementById('div_2');
      
      let str = "Git";
      let encodedStr = btoa(str);
      myDiv_1.innerHTML = encodedStr;
  </script>
</body>
</html>

输出:

R2l0

这就是你将获得的输出。该字符串未转换为 Base64。

现在要将上述字符串解码为原始形式,你可以使用 atob() 函数并在其中传递 encodedStr。然后使用 myDiv_2.innerHTML 属性在 div_2 中显示 decodedStr 变量的值。

let decodedStr = atob(encodedStr);
myDiv_2.innerHTML = decodedStr;

输出:

Git

请注意,Base64 用于发送二进制数据,而不是一种加密方法。此外,它不是一种压缩方法。