// Write 100000 random numbers without buffering
import java.io.*;
public class WriteUnbufferedTest
public static void main(String[] args)
{
try{
FileOutputStream fsout=new FileOutputStream("sample.dat");
DataOutputStream out=new DataOutputStream(fsout);
for(int i=0; i<100000; i++)
out.writeDouble(Math.random());
out.close();
}catch(IOException ioe){
System.out.println(ioe);
}
}
}
// Write 100000 random numbers with buffering
import java.io.*;
public class WriteBufferedTest
{
public static void main(String[] args)
{
try{
FileOutputStream fsout=new FileOutputStream("sample.dat");
BufferedOutputStream bfsout=new BufferedOutputStream(fsout);
DataOutputStream out=new DataOutputStream(bfsout);
for(int i=0; i<100000; i++)
out.writeDouble(Math.random());
out.close();
}catch(IOException ioe){
System.out.println(ioe);
}
}
}
// Read data from data file without buffering
import java.io.*;
public class ReadUnbufferedTest
{
public static void main(String[] args)
{
double sum=0;
try{
FileInputStream fsin=new FileInputStream("sample.dat");
DataInputStream in=new DataInputStream(fsin);
for(int i=0; i<100000; i++)
sum+=in.readDouble();
in.close();
}catch(IOException ioe){
System.out.println(ioe);
}
}
}
// Read data with buffering
import java.io.*;
public class ReadBufferedTest
{
public static void main(String[] args)
{
double sum=0;
try{
FileInputStream fsin=new FileInputStream("sample.dat");
BufferedInputStream bfsin=new BufferedInputStream(fsin);
DataInputStream in=new DataInputStream(bfsin);
for(int i=0; i<100000; i++)
sum+=in.readDouble();
in.close();
}catch(IOException ioe){
System.out.println(ioe);
}
}
}
//创建SafeCopy程序来复制文件
//这个程序可以在命令中接收源文件名和目标文件名
//只当目标文件不存在时,程序才将源文件复制到现在要创建的目标文件中去
//即不覆盖原来已存在的文件
import java.io.*;
public class SafeCopy
{
public static void copyFile(DataInputStream in, DataOutputStream out) throws IOException
{
try{
while(true)
out.writeByte(in.readByte());
}catch(EOFException eof){
return;
}
}
public static void main(String[] args)
{
String inFileName="E:\\101.asm", outFileName="E:\\500.txt";
File inFile=new File(inFileName);
File outFile=new File(outFileName);
if(!inFile.exists())
System.out.println(inFileName+"does not exist.");
else if(outFile.exists())
System.out.println(outFileName+"already exist.");
else{
try{
FileInputStream fsin=new FileInputStream(inFileName);
BufferedInputStream bfsin=new BufferedInputStream(fsin);
DataInputStream in=new DataInputStream(bfsin);
FileOutputStream fsout=new FileOutputStream(outFileName);
BufferedOutputStream bfsout=new BufferedOutputStream(fsout);
DataOutputStream out=new DataOutputStream(bfsout);
copyFile(in,out);
in.close();
out.close();
}catch(IOException ioe){
System.out.println(ioe);
}
}
}
}
//用户首先输入需要复制文件的名称和路径,然后再输入新的文件名和路径,完成后将旧文件和新文件内容显示在屏幕上
import java.io.*;
public class txcopy
{
public static void main(String[] args)
{
byte[] b1=new byte[255];
byte[] b2=new byte[255];
byte[] b3=new byte[2056];
byte[] b4=new byte[2056];
int a=0;
int b=0;
try{
System.out.println("请输入源文件名称: \n");
a=System.in.read(b1,0,255);
System.out.println("\n请输入目的文件名称: \n");
b=System.in.read(b2,0,255);
String sourceName=new String(b1,0,0,a-2);//把一个字节型数组转换成字符串数组
String desName=new String(b2,0,0,b-2);
System.out.println(sourceName.length());
FileInputStream fileInput=new FileInputStream(sourceName);
int bytes1=fileInput.read(b3,0,2056);
String sourceFile=new String(b3,0,0,bytes1);
FileOutputStream FileOutput=new FileOutputStream(desName);
FileOutput.write(b3,0,bytes1);
fileInput=new FileInputStream(desName);
int bytes2=fileInput.read(b4,0,2056);
String desFile=new String(b4,0,0,bytes2);
System.out.println("\n源文件内容为: \n");
System.out.println(sourceFile);
System.out.println("\n目的文件内容: \n");
System.out.println(desFile);
}catch(Exception e){
System.out.println(e.toString());
}
}
}
//写一个程序显示在程序的命令中指定的目录中所有的文件和目录
//包括文件大小及是文件还是目录类型
//按字母顺序排序显示,并且目录在文件之前显示
import java.io.*;
import java.util.*;
import java.io.File;
class FileNameSorter implements Comparator
{
public int compare(Object o1, Object o2)
{
File f1=(File)o1;
File f2=(File)o2;
if(f1.isDirectory())
{
if(f2.isDirectory())
return f1.getName().compareTo(f2.getName());
else
return -1;
}
else
{
if(f2.isDirectory())
return 1;
else
return f1.getName().compareTo(f2.getName());
}
}
public boolean equals(Object o1, Object o2)
{
return ((File)o1).getName().equals(((File)o2).getName());
}
}
public class Dir
{
private static void showDirInfo(File list[])
{
Arrays.sort(list, new FileNameSorter());
for(int i=0; i<list.length; i++)
{
if(list[i].isDirectory())
System.out.print("DIRECTORY");
else
System.out.print(list[i].length()+"bytes");
System.out.println("\t"+list[i]);
}
}
public static void main(String[] args)
{
// File path=new File(System.getProperty("user.dir"));//用户没有提供目录,则使用当前目录
File path=new File("D:\\j2sdk1.4.2");
if(args.length>0)
path=new File(args[0]);
if(path.exists()&&path.isDirectory())
showDirInfo(path.listFiles());
else
System.out.println("path not found or not directory");
}
}