文件操作类File

使用文件

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()方法返回文件的名称。请注意,我们在路径中使用双反斜杠,因为一个反斜杠应该在字符串路径中转义。

读取文件

文件对于存储和检索数据非常有用,并且有许多方法可以从文件中读取。

最简单的方法之一是使用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()方法来读取文件的内容。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值