filetest.java

来自「主要是对于JAVA的编程的基本语言 希望能够帮得上你。」· Java 代码 · 共 142 行

JAVA
142
字号
package io;
import java.io.*;
public class FileTest {
	public static void main(String[] args) {
		try {			
			//File.separator表明分隔符,与平台无关			
			File fDir=new File(File.separator); //当前盘			
			String strFile="Java_Example"+File.separator+
				"io"+File.separator+"love.txt";
			File f=new File(fDir,strFile);
			f.createNewFile();			
			
			//显示文件的属性			
			System.out.println("绝对路径:"+f.getAbsolutePath());//返回抽象路径名的绝对路径名字符串。
			System.out.println("绝对路径规范形式:"+f.getCanonicalPath());//返回抽象路径名的规范路径名字符串。 
			System.out.println("文件名:"+f.getName());
			System.out.println("父目录:"+f.getParent());
			System.out.println("路径(不包含盘符):"+f.getPath());	
			System.out.println("文件长度: "+f.length());
			
			//列出当前目录下的文件
			File fDir_hw=new File(File.separator); //当前盘			
			String strFile_hw="Java_Example"+File.separator+"io";
			System.out.println("===================");
			System.out.println(fDir.getAbsolutePath()+strFile_hw+"文件列表:");
			File f_hw=new File(fDir_hw,strFile_hw);			
			String[] names1=f_hw.list();
			for(int i=0;i<names1.length;i++){
				System.out.println(names1[i]);
			}
			System.out.println("=====================");
			//列出当前目录下的java源程序文件			
			System.out.println(fDir.getAbsolutePath()+strFile_hw+"java文件列表:");
			String[] names2=f_hw.list(new FilenameFilter(){
				public boolean accept(File dir,String name){
					return name.endsWith(".java");
				}			
			});
			for(int i=0;i<names2.length;i++){
				System.out.println(names2[i]);
			}
			System.out.println("=====================");
			//f.delete();
			f.deleteOnExit();
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {				
				e.printStackTrace();
			}				
			
			/*
			 * public class FileOutputStream extends OutputStream
			 * 文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。
			 * 文件是否可用或能否可以被创建取决于基础平台。
			 * 特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)
			 * 打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。 
			 * FileOutputStream 用于写入诸如图像数据之类的原始字节的流。
			 * 要写入字符流,请考虑使用 FileWriter。 
			 */			
			//把内容写入文件
			File f1=new File("sun.txt");
			f1.createNewFile();								
			FileOutputStream fos=new FileOutputStream(f1);
			byte[] b=new byte[11];
			b[0]='l'; 	b[1]=' '; 	b[2]='a';
			b[3]='m';   b[4]=' ';   b[5]='h';
			b[6]='a';   b[7]='p';   b[8]='p';
			b[9]='y';   b[10]='!';
			fos.write(b);
			
			/*
			 * public class FileInputStream extends InputStreamFileInputStream
			 * 从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。
			 * FileInputStream 用于读取诸如图像数据之类的原始字节流。
			 * 要读取字符流,请考虑使用 FileReader。
			 */
			//从文件读出内容
			System.out.println("文件sun.txt:");
			FileInputStream fis=new FileInputStream(f1);
			byte[] a=new byte[11];
			fis.read(a);
			for(int i=0;i<11;i++){
				System.out.print((char)a[i]);
			}		
			
			//字符流
			//把内容写入文件
			File f2=new File("moon.txt");
			f2.createNewFile();	
			FileWriter fw=new FileWriter(f2);
			fw.write("I am happy! ");
			fw.flush();  //从缓冲区写入文件
			
			char[] c=new char[4];
			c[0]='l'; c[1]='o'; c[2]='v'; c[3]='e';
			fw.write(c);
			fw.flush();
			
			fw.write(' ');
			fw.write('s');
			fw.write('u');
			fw.write('n');
			fw.flush();
			
			fw.write(" Let us fly our hopes.");
			fw.flush();
			
			//从文件读出内容
			System.out.println("\n文件moon.txt:");
			FileReader fr=new FileReader(f2);			
			char[] d=new char[50];
			fr.read(d);			
			for(int i=0;i<d.length;i++){
				if(d[i]=='\0')break;
				System.out.print(d[i]);				
			}		
			
			/*public class RandomAccessFile extends Objectimplements DataOutput, DataInput, Closeable
			 *此类的实例支持对随机存取文件的读取和写入。
			 *随机存取文件的行为类似存储在文件系统中的一个大型字节数组。	 
			 */
			System.out.println("\n文件sky.txt:");
			File f3=new File("sky.txt");
			f3.createNewFile();	
			RandomAccessFile raf=new RandomAccessFile(f3, "rw"); //"r"、"rw"、"rws" 或 "rwd"
			raf.writeChars("The flower is beautiful.");	
			raf.writeChar('\r');
			raf.writeBytes("The flower is beautiful.");
			raf.seek(0);
			String firstLine=raf.readLine();
			System.out.println("第一行: "+firstLine);
			String secondLine=raf.readLine();
			System.out.println("第二行: "+secondLine);	
			String thirdLine=raf.readLine();
			System.out.println("第三行: "+thirdLine);
			System.out.println("文件长度: "+raf.length());
		} catch (IOException e) {			
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?