Java代码如何实现读写文件呢?

戚薇 Java经验 发布时间:2023-06-24 14:41:29 阅读数:9039 1
下文笔者讲述java代码对文件的读写的方法及示例分享
学习完此篇文章之后,你将掌握写文件和读文件的方法大全,如下所示
使用
  java.io.BufferedOutputStream;
  java.io.BufferedWriter;
  java.io.File;
  java.io.FileNotFoundException;
  java.io.FileOutputStream;
  java.io.FileWriter;
这些对象
  即可实现对文件的读写操作
例:读写文件的示例
 
//写文件

package filetest;
 
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
 
public class WriteFileTest {
 
	public static void main(String[] args) {
		WriteByFileOutputStream();
		WriteByBufferedOutputStream();
		WriteByFileWriter();
		WriteByFiles();
		WriteByBufferedWriter();
		WriteByPrintWriter();
	}
	
	//FileOutputStream
	public static void WriteByFileOutputStream() {
		try(FileOutputStream fos = new FileOutputStream(new File("test1.txt"))){
			fos.write("test\nhello\nworld\nEnd".getBytes());
			fos.flush();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//BufferedOutputStream
	public static void WriteByBufferedOutputStream() {
		try(BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("test2.txt")))){
			bos.write("this is\nBufferedOutputStream\ntest".getBytes());
			bos.flush();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//FileWriter
	public static void WriteByFileWriter() {
		try(FileWriter fw = new FileWriter("test3.txt")){
			fw.write("hello world,\nFileWriter test.\nThe end.");
			fw.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//Files
	public static void WriteByFiles() {
		try {
			Files.write(Paths.get("test4.txt"), "hellooo world\nhello worldddd".getBytes());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//BufferedWriter
	public static void WriteByBufferedWriter() {
		try(BufferedWriter bw = Files.newBufferedWriter(Paths.get("test5.txt"))){
			bw.write("hello hello\nworld world.");
			bw.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//PrintWriter
	public static void WriteByPrintWriter() {
		try(PrintWriter pw = new PrintWriter(new FileWriter("test6.txt"))){
			pw.write("abcd\nefg\nhijk\nlmn\nopq\nrst\nuvwxyz");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
}

//读文件

package filetest;
 
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class ReadFileTest {
 
	public static void main(String[] args) {
		ReadByFileInputStream();
		System.out.println("===================");
		ReadByInputStreamReader();
		System.out.println("===================");
		ReadByBufferedReader();
		System.out.println("===================");
		ReadByBufferedInputStream();
	}
	
	//读字节
	public static void ReadByFileInputStream() {
		try(FileInputStream fis = new FileInputStream(new File("test1.txt"))){
			int read;
			while((read = fis.read()) != -1) {
				System.out.println((char)read);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		try(FileInputStream fis = new FileInputStream(new File("test1.txt"))){
			byte[] read = new byte[5];
			while(fis.read(read) != -1) {
				for(int i=0;i<read.length;i++) {
					System.out.print((char)read[i]);
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//读字符
	public static void ReadByInputStreamReader() {
		try(InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("test2.txt")))){
			int ch;
			while((ch=isr.read()) != -1) {
				System.out.println((char)ch);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		try(InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("test2.txt")))){
			char[] chs = new char[3];
			while(isr.read(chs) != -1) {
				System.out.print(chs);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
	//读整行
	public static void ReadByBufferedReader() {
		try(BufferedReader br = new BufferedReader(new FileReader(new File("test3.txt")))){
			String line = null;
			while((line = br.readLine()) != null) {
				System.out.println(line);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void ReadByBufferedInputStream() {
		try(BufferedInputStream bis = new BufferedInputStream(new FileInputStream("test4.txt"))){
			byte[] bytes = new byte[1024];
			while(bis.read(bytes,0,1024) != -1) {
				for(int i=0;i<bytes.length;i++) {
					System.out.print((char)bytes[i]);
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202306/16875889206877.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者