⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7.txt

📁 本书属于《开发专家之 Sun ONE》系列丛书
💻 TXT
📖 第 1 页 / 共 2 页
字号:
例程7-1
//InOutDemo.Java
class InOutDemo
{
	public static void main(String args[]) throws Exception
	{
		//定义字节数组
		byte buffer[] = new byte[30];
		//将从键盘输入的字节序列存储到字节缓冲区中
		System.in.read(buffer);
		//生成String对象
		String strBuffer = new String(buffer);
		//在标准输出中输出生成的String对象
		System.out.println(strBuffer);
	}
}



例程7-2
//FileFilterDemo.Java
import Java.io.*;
public class FileFilterDemo
{
	//创建文件对象
File dir = new File(“D:\JavaSource”);
//创建文件类型过滤器
Filter filter = new Filter(“Java”);

	//取得文件名字符串数组
	String fileList[] = dir.list(filter);
	for(int I=0;I<fileList.length;I++)
	{
		//获取文件对象
		File tmpFile = new File(fileList[I]);
		//取得文件属性
		if( tmpFile.isFile() )
			System.out.println(“文件”+tmpfile);
		else
			System.out.println(“目录”+tmpfile);
	}
}
//定义文件过滤器
class Filter implements FilenameFilter
{
	//扩展名
	String extension;
	//构造方法
	Filter(String extension)
	{
		this.extension = extension;
	}
	//测试文件的扩展名是否为extension
	public boolean accept(File directory,String filename)
	{
		return filename.endsWith(“.”+extension);
	}
}



例程7-3
//LastModified.Java
import Java.io.*;
class LastModified
{
    public static void main(String[] args) 
{
        try 
{
            File temp = File.createTempFile("jcl", ".out");
            // Make sure it gets deleted when we're done
            temp.deleteOnExit();
            // Print out file name and its last modified time
            long mod = temp.lastModified();
            System.out.println(temp + ":" + mod);
            // Introduced some delay
            try 
{
                Thread.sleep(3000);
            }
catch (InterruptedException ie) 
{
            };
            // Write something out to file
            FileWriter fout = new FileWriter(temp);
            fout.write("hello");
            fout.close();
            System.out.println(temp + ":" + temp.lastModified());
            // Change modified date back to original
            if (temp.setLastModified(mod))
{
                System.out.println(temp + ":" + temp.lastModified());
            }
else
{
                System.out.println("modification time unchanged");
            }
//
        }
catch (IOException e)
{
            e.printStackTrace();
        }
    }
}



例程7-4
//FileAttributeDemo.Java
class FileAttributeDemo
{
	//main方法
	public static void main(String args[])
	{
		FileAttributeDemo demo = new FileAttributeDemo();
	}
	//类构造方法
	public FileAttributeDemo()
	{
		//路径分隔符
		System.out.println(“Path Separator”+File.pathSeparator);
		//路径分隔字符
		System.out.println(“Path Separator character”+File.pathSeparatorChar);
		//文件分隔符
		System.out.println(“Separator”+File.separator);
		//文件分隔字符
		System.out.println(“Separator character”+File.separatorChar);
		//创建文件对象
		File flFile = new File(“D:\JavaSource\FileDemo.Java”);
		//文件全路径名称
		System.out.println(f);
		//读属性
		System.out.println(f.canRead());
		//写属性
		System.out.println(f.canWrite());
		//文件长度
		System.out.println(f.length());
		//测试是否为普通文件
		System.out.println(f.isFile());
		//测试是否为目录
		System.out.println(f.isDirectory());
		//取得文件最后修改时间
		System.out.println(f.lastModified());
		//取得文件名
		System.out.println(f.getName());
		//取得文件所在路径
		System.out.println(f.getPath());
		//判断文件是否存在
		System.out.println(f.exists());
	}
}



例程7-5
//ReafFromFile.Java
import Java.io.*;
class ReadFromFile
{
	public static void main(String args[])
	{
		System.out.println(“Please enter a directory that the file located in:”);
		//构造待读取文件的目录
		StringBuffer stfDir = new StringBuffer();
		//从键盘获取输入字符,存储进入字符缓冲区
		While((char ch = (char)System.in.read())!=’\n’)
		{
			stfDir.appendChar(ch);
		}
		//创建目录文件对象
		File dir = new File(stfDir.toString());

		System.out.println(“Please enter a filename that want to read:”);
		//获取待读取的文件名
		StringBuffer stfFilename = new StringBuffer();
		//从键盘获取输入字符,存储进入字符缓冲区
		While((char ch = (char)System.in.read())!=’\n’)
		{
			stfFilename.appendChar(ch);
		}
		//创建文件对象
		File readFrom = new File(dir,stfFilename.toString());

		//判断文件是否为目录、是否具有写权限、读权限
		if(readFrom.isFile() && reafFrom.canWrite() && reafFrom.canRead())
		{
			//创建RandomAccessFile对象
			RandomAccessFile rafFile = 
new RandomAccessFile(readFrom,”rw”);
			//如果未读到文件尾,则继续读取
			while(rafFile.getFilePointer()<rafFile.length())
				System.out.println(file.readLine());
			//文件关闭
			rafFile.close();
		}
		else
			System.out.println(“File cann’t be read!”);
	}
}



例程7-6
//WriteToFile.Java
import Java.io.*;
class WriteToFile
{
	public static void main(String args[])
	{
		System.out.println(“Please enter a directory that the file located in:”);
		//构造待读取文件的目录
		StringBuffer stfDir = new StringBuffer();
		//从键盘获取输入字符,存储进入字符缓冲区
		While((char ch = (char)System.in.read())!=’\n’)
		{
			stfDir.appendChar(ch);
		}
		//创建目录文件对象
		File dir = new File(stfDir.toString());

		System.out.println(“Please enter a filename that want to read:”);
		//获取待读取的文件名
		StringBuffer stfFilename = new StringBuffer();
		//从键盘获取输入字符,存储进入字符缓冲区
		While((char ch = (char)System.in.read())!=’\n’)
		{
			stfFilename.appendChar(ch);
		}
		//创建文件对象
		File readFrom = new File(dir,stfFilename.toString());

		//判断文件是否为目录、是否具有写权限、读权限
		if(readFrom.isFile() && reafFrom.canWrite() && reafFrom.canRead())
		{
			//创建RandomAccessFile对象
			RandomAccessFile rafFile = 
new RandomAccessFile(readFrom,”rw”);
			//如果未读到文件尾,则继续读取
			int ch;
			StringBuffer stfContent;
			while(ch!=-1)
			{
					//字符缓冲区清空
					stfContent.setLength(0);
					//接收键盘输入、构造字符缓冲区
					while((ch=System.in.read())!=-1)
						stfContent.appendChar(ch);
					//附加Dos格式行结束标志
					stfContent.append(“\r\n”);
					//将字符缓冲区的内容写出
					rafFile.writeBytes(stfContent.toString());
			}
			//文件关闭
	rafFile.close();
	}
		}
		else
			System.out.println(“File cann’t be write!”);
	}
}



例程7-7
//SetFileLength.Java
import Java.io.*;
class SetFileLength.Java
{
    public static void main(String[] args)
{
        if (args.length != 2)
{
            System.err.println(
                "usage: Java Main <new filename> <size in bytes>");
            System.exit(-1);
        }
        long size = 0;
        try
{
            size = Long.parseLong(args[1]);
        }
catch (NumberFormatException e)
{
            System.err.println(
                "usage: Java Main <new filename> <size in bytes>");
            System.exit(-1);
        }

        try
{
            RandomAccessFile raf = new RandomAccessFile(args[0], "rw");
            raf.setLength(size);     // extend file to be specified size
            raf.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}



例程7-8
//FileIODemo.Java
import Java.io.*
class FileIODemo
{
	//main方法
	public static void main(String args[])
	{
		FileIODemo aFileIODemo = new FileIODemo();
	}
	//构造方法
	public FileIODemo
	{
		try
		{
			//利用系统输入设备作为文件输入流
			FileInputStream fin = new FileInputStream(System.in);
			//创建输出文件input.txt
			FileOutputStream fout = new FileOutputStream( new File(“input.txt”));
			int nKeyIn;
			
			for(int n=0;n<10;n++)
			{
				//从标准输入设备读取10个字符输入
				nKeyIn = fin.read();
				//向文件输出流中写出输入的字符
				fout.write(data);
			}
			//关闭输出流
			fout.close();

			//创建文件输入流为文件input.txt
			FileInputStream fin = new FileInputStream(new File(“input.txt”));
			//文件输出流为系统标准输出
			FileOutputStream fout = new FileOutputStream(System.out);
			while(fin.available()>0)
			{
				//从文件中读字符
				data = fin.read();
				//写出文件输出流
				fout.write(data);
			}
			//关闭输入流
			fin.close();
			//关闭输出流

			fout.close();
		}
		//捕获文件异常
		catch(FileNotFoundException e)
		{
			e.printStackTrace();
		}
		//捕获输入输出异常
		catch(IOException exp)
		{
			exp.printStackTrace();
		}
	}
}



例程7-9
//PipedIODemo.Java
import Java.io.*;
class PipedIODemo
{
	public static void main(String args[])
	{
		try
		{
			//创建管道输入流
			PipedInputStream pin = new PipedInputStream();
			//创建管道输出流
			PipedOutputStream pout = new PipedOutputStream();
			//输入与输出流相连
			pout.connect( pin);
			//启动管道输入线程
			new PipeSender(pout,”sendString”).start();
			//启动管道输出线程
			new PipeReciver(pin,”receiveString”).start();
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
	}
}
//管道输入类
class PipeSender extends Thread
{
	PipedOutputStream pout;
	File fFile;
	//构造函数
	PipeSender(PipedOutputStream out,String file)
	{
		fFile = file;
		pout = out;
	}
	public void run()
	{
		//创建输入文件对象
		FileInputStream fin = new FileInputStream(fFile);
	int n;
	try
	{
		//读文件
		while((n=fin.read())!=-1)
		{
			//向管道中写入
			pout.write(n);
		}
		pout.close();
	}
	catch(IOException e)
	{
		e.printStackTrace();
	}
	}
}
//管道接收类
class PipeReciver extends Thread
{
	PipedInputStream pin;
	File fFile;
	//构造方法
	PipeReciver (PipedInputStream in,String file)
	{
		fFile = file;
		pin = in;
	}
	public void run()
	{
		//输出文件对象
		FileOutputStream fout = new FileOutputStream(fFile);
	int n;
	try
	{
		//从管道中读数据
		while((n=pin.read())!=-1)
		{
			//向文件输出对象中写数据
			fout.write(n);
		}
	}
	catch(IOException e)
	{
		e.printStackTrace();
	}
	}
}



例程7-10
//ReadMultiFile.Java
import Java.io.*;
import Java.util.*;

class ReadMultiFile
{
	public static void main(String args[])
	{
		//实例化FileFilter类
		FileFilter fFilter = new FileFilter(“D:\Java2\Source”,”Java”);

⌨️ 快捷键说明

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