文件I/O操作(Java)

1.文本文件的操作
案例1

import java.io.File;
import java.util.Date;
public class FileDemo 
{
	public static void main(String[] args) {
		File f = new File("C:\\Users\\15041\\Desktop\\1.txt");    //Windows下文件的路径
		if(f.exists() == false)
		{
			try
			{
				f.createNewFile();    //如果没有这个文件,则创建它
			}
			catch(Exception e)
			{
				System.out.println(e.getMessage());
			}
		}
		System.out.println("file name: " + f.getName());
		System.out.println("file path: " + f.getPath());
		System.out.println("file absolute_path: " + f.getAbsolutePath());
		System.out.println("parent file name: " + f.getParent());  //父文件夹
		System.out.println(f.exists()? "file exist.":"file not exist.");
		System.out.println(f.canWrite()? "file can write.":"file can not write.");
		System.out.println(f.canRead()? "file can read.":"file can not read.");
		long millisec = f.lastModified();     
		Date dt = new Date(millisec);    //用Date类加工处理一下millisec
		System.out.println("file last modified: " + dt);
		System.out.println("size of file: " + f.length() + "Bytes");
	}
}

在Java中,使用Scanner类能很方便地读入文本。
案例2
在InputOutputDemo文件夹中,有input.txt的文件夹,其内有若干用空格隔开的数据,如图所示,
Alt

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class InputOutputDemo 
{

	public static void main(String[] args) throws FileNotFoundException   //不会抛出这个异常
	{
		Scanner console = new Scanner(System.in);   //用System.in作为Scanner的输入参数,来读取用户的输入
		System.out.print("输入文件名为:");
		String inputFileName = console.next();  //用Scanner的next()方法读取控制台输入的下一个字符串对象,
		                                        //这里表示输入文件名inputFileName
		System.out.print("输出文件名为:");      
		String outputFileName = console.next();
		
		//创建Scanner对象和PrintWriter用以处理输入数据流和输出数据流
		File inputFile = new File(inputFileName);
		Scanner in = new Scanner(inputFile);
		PrintWriter out = new PrintWriter(outputFileName);
		
		int count = 0;
		double value;
		double total = 0.0;
		while(in.hasNextDouble())
		{
			value = in.nextDouble();
			out.printf("%6.2f\r\n", value);  //浮点数总宽度为6个字符,小数点后保留2位,\r\n表示向输出文件中换行
			total = total + value;
			count ++;
		}
		out.printf("总和为:%8.2f\r\n", total);
		out.printf("均值为:%8.2f\r\n", total/count);
		in.close();
		out.close();
	}
}

在同一文件夹下生成输出文件(手动输出文件名),输出文件如下图所示:
Alt

猜你喜欢

转载自blog.csdn.net/Lyuwalle/article/details/88803624