IO简单基础操作(一)


Java  IO 操作(一)
//1,创建一个新的文件
import java.io.File;
import java.io.IOException;
public class test {
public static void main(String[] args) {
	
	String str = "D:"+File.separator+"work001.txt";
	File     f = new File(str);
        try {
			f.createNewFile();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//对以上进行补充  File.separator 是跨平台的的分隔符 在Linux中同样可以使用  
       //就是一个路径
}
}


//2,删除一文件
import java.io.File;
public class test {
public static void main(String[] args) {
	//创建一个新的文件
	String str = "D:"+File.separator+"work001.txt";
	File     f = new File(str);
      if (f.exists()) {  //如果存在
		f.delete();      //删除这个文件
	}
}
}

//3,创建一个新文件夹,也就是目录
import java.io.File;
public class test {
public static void main(String[] args) {
	String str = "D:"+File.separator+"work001";
	File     f = new File(str);
             f.mkdir();
}
//这里补充一点很多人迷惑mkdir()和mkdirs()这两个方法
//小编可以这样告诉大家mkdir()创建时必须要有父目录,也就是说,你只能在一个目录下面创建子目录
//而mkdirs()不需要你有父目录,可以直接创建任何目录
}


//4,打印当前目录下面的所有文件包括目录,但是不打印子目录和文件
import java.io.File;
public class test {
public static void main(String[] args) {
	String str = "D:"+File.separator;
	File     f = new File(str);
	//list()方法的作用是将文件中的目录和文件的名字用字符串的形式返回
	//这里定义了数组,就是装到数组里面去!
	String[]  file = f.list();
    for (int i = 0; i < file.length; i++) {
		System.out.println(file[i]);
	}
}
}

//5,打印当前目录下面的所有文件包括目录和隐藏文件,但是不打印子目录和文件
import java.io.File;
public class test {
public static void main(String[] args) {
	String str = "D:"+File.separator;
	File     f = new File(str);
	//listFiles()方法的作用是将文件中的目录和文件的名字用字符串的形式返回
	//这个方法打印的是绝对路径
	//这里定义了数组,就是装到数组里面去!
	File[]  file = f.listFiles();
    for (int i = 0; i < file.length; i++) {
		System.out.println(file[i]);
	}
}
}


//6,打印当前目录下面的所有文件就是有后缀的所有文件,包括子子目录下面的文件
import java.io.File;
public class test {
public static void main(String[] args) {
	String str = "D:"+File.separator;
	 File   file = new File(str);
      print(file);
}
public static void print(File file)
{      //判断他这个文件是否为空
	   if (file!=null) {
		if (file.isDirectory())//判断他是否是目录
		{
			File[] f = file.listFiles();
			if (f!=null)
			{
				for (int i = 0; i < f.length; i++) 
				{
					print(f[i]);
					//这里是递归调用,如果他是目录继续寻找
				}
			}
		}
		else 
		{
			System.out.println(file.getName());
		}
	}
}
}


//7,随机读取
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class test {
public static void main(String[] args) throws IOException {
	String str = "D:"+File.separator+"hello.txt";
	 File   file = new File(str);
     try {
		RandomAccessFile  ra = new RandomAccessFile(file, "rw");
//分析下   这个是随机读取  可以往文件里面随便读取  后面file是文件路径   rw是文件的权限  r代表可读 w代表可写
		 ra.write(34);//注意这里写入的是一个int类型但是他只占一个字节  
//		 所以如果数字过大就会溢出,ra.writeInt(34)表示占四个字节,其他的类推
//		 打开文件就可以看到文件内写的是乱码,这个读者不必在乎,正常现象,变化的格式问题
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

}

//8,往文件中写内容
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class test {
public static void main(String[] args) throws IOException {
	String str = "D:"+File.separator+"hello.txt";
	 File   file = new File(str);
     OutputStream  os = new FileOutputStream(file);
     String a = "hello";
     byte[] b = a.getBytes();//将字符串转换成字节数组的形式
     //因为write()没有直接写字符串的方法
     os.write(b);
     os.flush();//每写一次都要刷新,否则内容不再文件里面
     //而是在流里面
     os.close();
     //close()也具有相同的刷新功能,他是直接将流关掉!
}
}

//9,往文件里面追加新的内容
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class test {
public static void main(String[] args) throws IOException {
	 String str = "D:"+File.separator+"hello.txt";
	 File   file = new File(str);
	 String text= "hello";
	 byte[] buff = text.getBytes();
     OutputStream  os = new FileOutputStream(file,true);
        for (int i = 0; i < buff.length; i++) {
			os.write(buff[i]);
			
		}
        os.close();
}
}

//10,从文件里面读内容
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
public class test {
public static void main(String[] args) throws IOException {
	 String str = "D:"+File.separator+"hello.txt";
	 File   file = new File(str);
     InputStream   is = new FileInputStream(file);
	 byte[] ra = new byte[1024];
	    int m=is.read(ra);//m表示往数组里面写的字符数量
	    //下面的m就表示打印出来的长度,如果没有限制的话 最后一次打印就会出现很多空格
	    System.out.println(new String(ra,0,m));
        is.close();
}

}



posted @   飞航之梦  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示