java文件的写入和读取
内容描述:
使用 Scanner 类从文件中读取文本數据, 使用 PrintWriter 类向文本文件写入数据
文件的写入:
向文本文件写入的UML图:
代码展示:
// 文件的创建和数据写入
package java_testquestions;
//import java.io.IOException;
import java.io.*;
public class WriteData
{
public static void main(String[] args)throws IOException{
//创建 file对象
java.io.File file = new java.io.File("source1.txt");
//检查文件是否存在
if(file.exists()) {
System.out.println("File already exists");
System.exit(1);
}
java.io.PrintWriter output = new java.io.PrintWriter(file);
//创建 output 对象,然后进行向文件内部的写入
output.print("John T Smith ");
output.println(90);
output.print("Eric K Jones ");
output.println(85);
output.close();
}
}
文件的读取:
从文件读取的UML图:
代码展示:
//找到文件的根目录
package java_testquestions;
import java.util.Scanner;
import java.util.InputMismatchException;
public class ReadData
{
public static void main(String[] args) throws Exception{
java.io.File file = new java.io.File("F:\\程序\\java 程序\\test\\source1.txt");
// 这个地址 是我所存储的根目录地址
Scanner input = new Scanner(file);
while(input.hasNext()) { //判断
String firstName = input.next();
String mi = input.next();
String lastName = input.next();
int score = input.nextInt();
System.out.println(firstName + " "+ mi+" "+lastName+" "+score);
}
input.close();
}
}
综合性内容:
内容描述:
(写 / 读 数 据) 编 写 一 个 程 序, 如 果 名 为Exercisel2_15.txt 的文件不存在, 则创建该文件。
使用文本I/O 将随机产生的 100 个整数写入文件, 文件中的整数由空格分开。 从文件中读回数据并以升序显示数据。
代码展示:
//( 写 / 读 数 据 ) 编 写 一 个 程 序, 如 果 名 为
//Exercisel2_15.txt 的文件不存在, 则创建该文
//件。 使用文本I/O 将随机产生的 100 个整数写入文件, 文件中的整数由空格分开。 从文件中
//读回数据并以升序显示数据。
package java_testquestions;
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
public class Write_ReadData
{
public static void main(String[] args)throws Exception
{
// check if source file exists
File file = new File("Exericise2_15.txt");
// Scanner input = new Scanner(file);
if(!file.exists()) {
// create the file
PrintWriter output = new PrintWriter(file); // 写入文件
for(int i = 1;i <= 100; i++)
output.print((int)(Math.random()*100) + " "); // 将随机生成的数放在文件中
output.close(); //关闭文件
}
java.io.File file2 = new java.io.File("F:\\程序\\java 程序\\test\\Exericise2_15.txt");
//文件存储的位置
Scanner input = new Scanner(file2);
int[] numbers = new int[100];
while (input.hasNext()) {
for(int i = 0;i < 100;i++)
numbers[i] = input.nextInt();
}
input.close();
Arrays.sort(numbers); // 对数据排序后输出
for(int i = 0;i < 100;i++)
System.out.print(numbers[i] + " ");
}
}
泡泡:
这是java中简单的文本文件的写入和读取,学习一下 java.io.File 类创建 file 对象的方法以及相关方法的使用;
需要注意的点有有几个,如下:
1,写入所使用的类 java.io.*;
2, 写入的方法 PrintWriter
java.io.PrintWriter output = new java.io.PrintWriter(file);
3,读取的方法 Scanner
Scanner input = new Scanner(file);
4, 记得使用 output.close() input.close()
5, 注意使用 throws ... 抛出异常
ok,收工。