使用文件
java.io 包中包含一个File类,允许你使用文件。
首先,创建一个File对象,并在构造函数中指定文件的路径。
import java.io.File;
...
File file = new File("D:\\data\\input-file.txt");
使用exists()方法,你可以确定文件是否存在。
import java.io.File;
public class MyJavaClass {
public static void main(String[] args) {
File x = new File("D:\\edong\\w3cschool.txt");
if(x.exists()) {
System.out.println(x.getName() + "exists!");
}
else {
System.out.println("The file does not exist");
}
}
}
上面的代码打印一条消息,指出文件是否存在于指定的路径。
提示:getName()方法返回文件的名称。请注意,我们在路径中使用双反斜杠,因为一个反斜杠应该在字符串路径中转义。
读取文件-Scanner类
文件对于存储和检索数据非常有用,并且有许多方法可以从文件中读取。
最简单的方法之一是使用java.util包中的Scanner类。
Scanner类的构造函数可以将File对象作为输入。
要读取路径“D:\\edong\\w3cschool.txt”中的文本文件的内容,我们需要创建一个具有相应路径的File对象,并将其传递给Scanner对象。
try {
File x = new File("D:\\edong\\w3cschool.txt");
Scanner sc = new Scanner(x);
}
catch (FileNotFoundException e) {
}
在代码中,我们用try/catch块包围了代码,因为该文件可能不存在。
读取文件-Scanner对象的next()方法
我们可以使用Scanner对象的next()方法来读取文件的内容。
try {
File x = new File("D:\\edong\\w3cschool.txt");
Scanner sc = new Scanner(x);
while(sc.hasNext()) {
System.out.println(sc.next());
}
sc.close();
} catch (FileNotFoundException e) {
System.out.println("Error");
}
文件的内容逐字输出,因为next() 方法分别返回每个单词。
提示:关闭文件时总是一个好习惯。一种方法是使用Scanner的close()方法。
创建文件
Formatter是java.util包中另一个有用的类,用于创建内容并将其写入文件。
下面是一个例子:
import java.util.Formatter;
public class MyJavaClass {
public static void main(String[] args) {
try {
Formatter f = new Formatter("D:\\edong\\w3cschool.txt");
} catch (Exception e) {
System.out.println("Error");
}
}
}
这将在指定的路径中创建一个空文件。如果该文件已经存在,这将覆盖它。
同样,你需要用try/catch块来包围代码,因为操作可能会失败。
写入文件
一旦创建了文件,就可以使用相同的Formatter对象的format()方法向其中写入内容。
下面是一个例子:
import java.util.Formatter;
public class MyJavaClass {
public static void main(String[] args) {
try {
Formatter f = new Formatter("C:\\edong\\w3cschool.txt");
f.format("%s %s %s","1","Loen","Wang \r\n");
f.format("%s %s %s","2","Lu","Lin");
f.close();
} catch (Exception e) {
System.out.println("Error");
}
}
}
format()方法根据其第一个参数来设置参数的格式。
%s表示一个字符串,并在格式之后被get的第一个参数替换。第二个%s被下一个替换,依此类推。所以,格式%s%s%s表示三个用空格分隔的字符串。
注意:\r\n是Windows中的换行符号。
上面的代码创建一个包含以下内容的文件:
1 Loen Wang
2 Lu Lin
提示:完成写入文件后,不要忘记关闭文件。
网友评论