0
点赞
收藏
分享

微信扫一扫

File类以及字节流与字符流

我阿霆哥 2022-05-01 阅读 59
java

//自己正在学习Java,不正确的地方欢迎大家指正

File文件的创建删除判断:

		File f1=new File("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt");
		System.out.println(f1.createNewFile());
		
		File f2=new File("C:\\Users\\七夕\\Desktop\\文件测试\\text");
		System.out.println(f2.mkdirs());
		
		System.out.println(f1.isDirectory());         //判断是否为目录
		System.out.println(f1.isFile());              //判断是否为文件
		
		System.out.println(f1.getAbsolutePath());       //得到文件的绝对路径
		System.out.println(f1.getName());                //得到文件的名字
		
		f1.delete();            

字节流写入数据:

		FileOutputStream demo=new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt");
		//demo.write(97);   //(1)
		
		byte[] bys= "abcdefg".getBytes();  //(2)  (getbyte可以将字符串转换为字节数组)
		demo.write(bys);
		
		demo.write(bys, 0,bys.length);   //(3)
		
		demo.close();
		FileOutputStream demo=new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt",true);  //true表示追加写入
		for(int i=0;i<5;i++)
		{
			demo.write(("hello"+i).getBytes());
			demo.write("\r\n".getBytes());           //换行
		}
		demo.close();

字节流读出数据:

		FileInputStream  demo=new FileInputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt");
		
		int by;
		while((by=demo.read())!=-1)           //(1)
		{
			System.out.print((char)by);
		}
		
		byte[] num=new byte[1024];            //(2)
		int len;
		while((len=demo.read(num))!=-1)
		{
			System.out.println(new String(num,0,len));
		}
		demo.close();

字节缓冲流输入输出:

		BufferedOutputStream demo=new BufferedOutputStream(new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		demo.write("hello\r\n".getBytes());      //写入数据
		demo.close();
		
		BufferedInputStream demo1=new BufferedInputStream(new FileInputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		
		int by;
		while((by=demo1.read())!=-1)                //读数据第一种
		{
			System.out.print((char)by);
		}
		
		byte[] bys=new byte[1024];
		int len;                                       //读数据第二种
		while((len=demo1.read(bys))!=-1)
		{
			System.out.println(new String(bys,0,len));
		}
		
		
		demo1.close();

字符流写数据方法:

import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.IOException;

public class work1 
{
	public static void main(String[] args) throws IOException  
	{
		
		OutputStreamWriter one=new OutputStreamWriter(new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		
		one.write(97);   //(1)
		one.flush();      //刷新流
		
		char[] num= {'a','b','c','d','e'};
		one.write(num);             //(2)
		one.write(num, 0, num.length);   //(3)
		one.write("abcde");           //(4)
		one.write("abcde", 0, 3);    //(5)
		
		one.close();     //关闭流,关闭前会执行刷新流一次
		
	}
}

字符流读数据方法:

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.FileInputStream;

public class work1 
{
	

	public static void main(String[] args) throws IOException  
	{
		
		InputStreamReader  two=new InputStreamReader(new FileInputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		
		int num;
		while((num=two.read())!=-1)
		{
			System.out.print((char)num);
		}
		
		char[] num2=new char[1024];
		int len;
		while((len=two.read(num2))!=-1)
		{
			System.out.print(new String(num2,0,len));
		}
		
		two.close();
	}
}

字符缓冲流写与读:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class work1 
{
	public static void main(String[] args) throws IOException 
	{
		BufferedWriter one=new BufferedWriter(new FileWriter("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		one.write("hello\r\n");
		one.close();
		
		BufferedReader two=new BufferedReader(new FileReader("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		char[] num=new char[1024];
		int len;
		while((len=two.read(num))!=-1)
		{
			System.out.println(new String (num,0,len));
		}
		two.close();
	}
}

字符流特有功能:

		BufferedReader one=new BufferedReader(new FileReader("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		BufferedWriter two=new BufferedWriter(new FileWriter("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
		one.readLine();   //读取一行的内容
		two.newLine();    //换行
		
举报

相关推荐

0 条评论