通过Java函数实现文件和I/O操作
Java是一门强大的编程语言,它具有处理文件和I/O操作的功能。Java提供了几个预定义类来简化文件和I/O操作,这些类包括File、InputStream、OutputStream、Reader、Writer、BufferedReader和PrintWriter等。
File类的主要作用是管理文件和目录。可以通过该类访问目录和文件、创建和删除目录和文件。File类包含多个方法,例如:创建新文件、删除文件、判断文件是否存在,获取文件的信息等。
例如,创建一个名为hello.txt的文件可以使用以下代码:
File file = new File("hello.txt");
如果要在指定目录下创建文件,可以使用以下代码:
File file = new File("D:\\data\\hello.txt");
如果要创建目录,可以使用以下代码:
File dir = new File("D:\\data\
ewdir");
dir.mkdir();
InputStream和OutputStream类是用于输入和输出的抽象类。InputStream类可以从不同的数据源中读取数据,包括文件、数组、网络等。OutputStream类用于将数据写入输出源,同样可以包括文件、数组、网络等。
例如,从文件中读取数据可以使用以下代码:
FileInputStream fis = new FileInputStream("hello.txt");
int data = fis.read();
while(data != -1) {
System.out.print((char) data);
data = fis.read();
}
fis.close();
PrintWriter类是用于打印输出的类。它提供了一些方法,例如:print()、println()、printf()等。PrintWriter类是BufferedWriter的子类,它提供了缓存写入的方法,从而提高了写入的效率。
以下是使用PrintWriter类将数据写入文件的示例:
PrintWriter writer = new PrintWriter("output.txt", "UTF-8");
writer.println("Hello, world!");
writer.close();
Reader和Writer类用于读取和写入字符流,分别对应于InputStream和OutputStream类。Reader类提供了读取字符流的方法,例如:read()、readLine()等。Writer类提供了写入字符流的方法,例如:write()、append()等。
例如,使用Reader类从文件中读取数据可以使用以下代码:
FileReader reader = new FileReader("hello.txt");
int data = reader.read();
while(data != -1) {
System.out.print((char) data);
data = reader.read();
}
reader.close();
BufferedReader类是一个缓冲字符输入流,它可以使用缓冲从字符输入流中读取文本。它的主要作用是提供更高效的读取字符的方法。
例如,使用BufferedReader类从文件中读取数据可以使用以下代码:
FileReader reader = new FileReader("hello.txt");
BufferedReader br = new BufferedReader(reader);
String line = br.readLine();
while(line != null) {
System.out.println(line);
line = br.readLine();
}
br.close();
以上就是Java中文件和I/O操作的基本知识。Java提供了许多预定义类来方便使用这些操作,我们只需要了解这些类的基本用法即可。
