File类和IO流

在java中,File类可以对于文件进行创建、删除等操作,而对于文件本身进行操作的话,则要使用IO字节流或字符流。
一、File类
在File类中,对于文件,可以进行访问文件名、检测文件、获取文件信息,对文件和目录进行操作等基本操作。在FIle类中,有绝对路径和相对路径,一般使用后者。

二、IO流

File类可以对于文件进行复制、创建、删除等操作,但是对于文件内容的操作则需要IO流(输入输出流)。IO流里面有字符流和字节流两种,字符流是对于文件内容一个字符进行操作,字节流则是对文件内容的一个字节进行操作。


作业一:

	//这里需要使用static,因为主函数是static
	public static  void writePoem(String[] poem,String path){
	
		try {
			File file=new File(path);
		//检验文件是否存在
			if(!file.exists()){
				//如果文件不存在,则创建一个新文件
				file.createNewFile();
			}
				//定义一个字符流,对应中文
				FileWriter fw=new FileWriter(file);
				
				//使用增强for循环,输出字符
				for(String p:poem){
					//如果不加“\r\n”,則無法識別換行符
					fw.write(p+"\r\n");
				}
				fw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
本方法放在主类里面可以使用主方法直接调用。


作业二:

public static void readAndWrite(String fileName){
		File file=new File(fileName);
		if(file.exists()){
			try {
				
				//定義輸入流和輸出流
				FileReader fr=new FileReader(file);
				FileWriter fw=new FileWriter(file);
				
				char[] buf=new char[200];
				int hashRead=0;
				//取流
					while((hashRead=fr.read(buf))>0){
						String str=new String(buf);
						//輸出流
						fw.write(str+"\r\n");
					}
					fr.close();

			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
				catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
			}
		}else{
			System.out.println("文件不合法");
		}
	}
该方法可以把从主程序中输入的文件输出一遍,但是不知道怎么把当前的java文件输入。

你可能感兴趣的:(File类和IO流)