Java流与文件学习

Java语言中,一个可以读取字节的序列对象称为输入流,一个可以写入字节序列的对象称为输出流

输入流与输出流分为字符流与字节流两种,分别继承于四个抽象类



 

 

 

 在这四个抽象类中,InputStream与Reader有相同的抽象方法

 int read() 读一个字节返回,结尾返回-1

 int read(char c[]) 将数据读入一个数组并返回读取字节的数目,结尾返回-1

 int read(char c[], int off, int len) off为数组偏移量,len为读取字节最大数

 OutputStream与Writer有相同的抽象方法

 void write(int n) 写入一个字节

 void write(char c[]) 写入数组所有的字节

 void write(char c[], int off, int len) off为数组偏移量,len为写入字节最大数

 

 Java中文件分为文本文件与流文件,文本文件的内容以16bit表示,流文件为8bit,如图片声音等。文本文件的读写单

 位是字符,通常用Reader/Writer来处理,而流文件读写单位为字节,通常用OutputStream/InputStream来处理

 

 File类

 File的四个构造函数:

 File(String parent, String child)

 File(File parent, String child)

 File(Url url)

 File(String filepath)

 

package example;
import java.io.*;

public class TestFile {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File file = new File("C:\\Test");
		if(! file.exists()){
			file.mkdir();
			System.out.println("Create folder C:\\Test");
		}
		File nextfile = new File(file,"folder1\\Test");
		if(! nextfile.exists()){
			nextfile.mkdirs();
		}
		System.out.println(nextfile.getParent());
		System.out.println(nextfile.getPath());
		if(nextfile.isDirectory()){
			File newfile = new File(nextfile,"1.txt");
			if(! newfile.exists());{
				try{
					newfile.createNewFile();
				}
				catch(IOException ex){
					ex.printStackTrace();
				}
				System.out.println(newfile.getAbsoluteFile());
				System.out.println(newfile.getAbsolutePath());
				System.out.println(newfile.getName());
			}
		}
		for (int i=1; i<=5; i++){
			File listfile = new File(nextfile,"Test"+i+".txt");
			if(! listfile.exists()){
				try{
					listfile.createNewFile();
				}
				catch(IOException ex){
					ex.printStackTrace();
				}
			}
		}
		System.out.println("-------华丽的分割线---------");
		String[] list = nextfile.list();
		for(int i = 0; i<list.length;i++){
			System.out.println(list[i]);
		}

	}

}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值