Java入门

文件处理

2022-05-04  本文已影响0人  朱兰Juran

使用文件

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

提示:完成写入文件后,不要忘记关闭文件。

上一篇 下一篇

猜你喜欢

热点阅读