文件处理

作者: 朱兰Juran | 来源:发表于2022-05-04 09:19 被阅读0次

    使用文件

    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

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

    相关文章

      网友评论

        本文标题:文件处理

        本文链接:https://www.haomeiwen.com/subject/dlswyrtx.html