avatar

目录
java:文件输入输出

java的文件输入输出

文件输入

在java中要想对文件进行读取则需要使用File对象构造一个Scanner对象:
Scanner in=new Scanner(Paths.get("文件名/文件位置"),"字符编码形式");
在文件读取时既可以在相对位置创建文本文件后,使用文件名进行读取,也可以直接使用文件绝对位置进行读取:

  1. 使用文件名:
    当指定一个相对的文件名时,例如”myfile.txt”,文件会位于Java虚拟机启动路径的相对位置(一般位于该java project的同层目录)。可以使用:
    String dir =System.getProperty("user.dir");
    文件读取:
    Scanner in=new Scanner(Paths.get("myfile.txt"),"UTF-8");

  2. 使用绝对路径:
    Scanner in=new Scanner(Paths.get("D://Java//Projects//myfile.txt"),"UTF-8");
    值得注意的是如果文件名含有反斜杠符号,需要在反斜杠符号之前再添加一个反斜杠。

文件输出

要想写入文件则需要构造一个PrintWriter对象:
PrintWriter out=new PrintWriter("文件名","字符编码");

对于文件明的处理与文件输入时一样。 除此之外在构造完成并进行输出操作之后,还需要对缓存区进行清理并关闭读写流,因而需要使用:
out.flus(),以及out.close 。如果不使用out.flus则文件不会输出成功,因为数据还会留存在缓冲区里,不会输出在文件中。

代码

一下是将数据从一个文件读入并输出到另一个文件的代码:

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package test;
import java.io.IOException;
import java.nio.file.Paths;
import java.time.*;
import java.util.Date;
import java.util.*;
import java.io.*;
public class Test {
public static void main(String []args) throws IOException {
Scanner in =new Scanner(Paths.get("pw.txt"),"UTF-8");
PrintWriter out=new PrintWriter("1.txt","UTF-8");
out.print(in.next());
out.flush();
out.close();

}
}
文章作者: Liang Shuo
文章链接: http://yoursite.com/2020/02/19/java%EF%BC%9A%E6%96%87%E4%BB%B6%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 L·S
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论