我有一个字符串数组。
我想将这些字符串保存在文件中。
问题是,我需要创建一个名为 db.txt 的新文件(仅当它不存在时),
然后以某种方式向其写入字符串。
然后我希望能够从该文件读取字符串并将它们插入到数组中。
插入和使用数组不是问题,但问题是如何弄乱这些文件?如何创建新的文本文件(如果尚不存在)、如何写入以及如何读取?
尝试自己学习,但我在互联网上看到了很多方法并且感到困惑。
以下是写入文本文件的示例:
File file = new File("./db.txt");
PrintWriter pw = new PrintWriter(file, true); // true for auto-flush
pw.println("Line 1");
pw.println("Line 2");
pw.println("Line 3");
pw.close();
如果您想附加到现有文本文件:
File file = new File("./db.txt");
FileWriter fw = new FileWriter(file, true); // true for appending
PrintWriter pw = new PrintWriter(fw, true); // true for auto-flush
pw.println("Line 4");
pw.println("Line 5");
pw.println("Line 6");
pw.close();
从文本文件中读取:
File file = new File("./db.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line1 = br.readLine();
String line2 = br.readLine();
String line3 = br.readLine();
br.close();
另请考虑以下事项:
-
PrintWriter http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html如果文件不存在则不创建新文件,而FileWriter http://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html does.
- 要检查文件是否存在,请使用:file.exists() http://docs.oracle.com/javase/7/docs/api/java/io/File.html#exists%28%29.
- 要检查文件对象是否引用文件或目录,请使用:file.isDirectory() http://docs.oracle.com/javase/7/docs/api/java/io/File.html#isDirectory%28%29 and file.isFile() http://docs.oracle.com/javase/7/docs/api/java/io/File.html#isFile%28%29.
- 要创建新文件,请使用:file.createNewFile() http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createNewFile%28%29.
- 要创建目录,请使用:file.mkdirs() http://docs.oracle.com/javase/7/docs/api/java/io/File.html#mkdirs%28%29.
- 您可能需要使用构造函数PrintWriter(File file, String csn) http://docs.oracle.com/javase/6/docs/api/java/io/PrintWriter.html#PrintWriter%28java.io.File,%20java.lang.String%29 and InputStreamReader(InputStream in, Charset cs) http://docs.oracle.com/javase/1.4.2/docs/api/java/io/InputStreamReader.html#InputStreamReader%28java.io.InputStream,%20java.nio.charset.Charset%29来确定字符集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)