java程序设计基础_陈国君版第五版_第十章例题
import java.io.*;
public class Main10_1 {
public static void main(String [] args)
{
FileInputStream fin;
FileOutputStream fout;
char ch;
int data;
try
{
fin = new FileInputStream(FileDescriptor.in);
fout = new FileOutputStream("d:\\miyao.txt");
System.out.println("请输入一串字符,并以‘#’结束");
while((ch = (char)fin.read())!='#')
fout.write(ch);
fin.close();
fout.close();
System.out.println();
fin = new FileInputStream("d:\\miyao.txt");
fout = new FileOutputStream(FileDescriptor.out);
while(fin.available()>0)
{
data = fin.read();
fout.write(data);
}
fin.close();
fout.close();
}
catch(FileNotFoundException e)
{
System.out.println("文件没找到!");
}
catch(IOException e)
{}
}
}
import java.io.*;
public class Main10_2 {
public static void main(String[] args)throws IOException
{
FileInputStream fi = new FileInputStream("d:\\大爷.gif");
FileOutputStream fo = new FileOutputStream("d:\\大爷1.gif");
System.out.println("文件的大小 ="+fi.available());
byte[] b = new byte[fi.available()];
fi.read(b);
fo.write(b);
System.out.println("文件已经被复制!");
fi.close();
fo.close();
}
}
import java.io.*;
public class Main10_3 {
public static void main(String[] args){
FileOutputStream fout;
DataOutputStream dout;
FileInputStream fin;
DataInputStream din;
try
{
fout = new FileOutputStream("d:\\temp");
dout = new DataOutputStream(fout);
dout.writeInt(10);
dout.writeLong(12345);
dout.writeFloat(3.1415926f);
dout.writeDouble(987654321.123);
dout.writeBoolean(true);
dout.writeChars("Goodbye!");
}
catch(IOException e){}
try
{
fin = new FileInputStream("d:\\temp");
din = new DataInputStream(fin);
System.out.println(din.readInt());
System.out.println(din.readLong());
System.out.println(din.readFloat());
System.out.println(din.readDouble());
System.out.println(din.readBoolean());
char ch;
while((ch=din.readChar())!='\0')
System.out.print(ch);
din.close();
}
catch(FileNotFoundException e)
{
System.out.println("文件未找到!");
}
catch(IOException e)
{}
}
}
import java.io.*;
public class Main10_4 {
public static void main(String[] args){
try
{
byte[] b = new byte[128];
System.out.print("请输入字符:");
int count = System.in.read(b);System.out.println("输入的是:");
for(int i = 0 ; i< count-2;i++)
{
System.out.print((char)b[i]+" ");
}
System.out.println();
System.out.println("输入的字符个数为"+count);
Class InClass = System.in.getClass();
Class OutClass = System.out.getClass();
System.out.println("in所在的类是:"+InClass.toString());
System.out.println("out锁在的类是:"+OutClass.toString());
}
catch(IOException e)
{}
}
}
import java.io.*;
public class Main10_5 {
public static void main(String[] args)throws IOException
{
char[] c = new char[500];
FileReader fr = new FileReader("d:\\miyao.txt");
int num = fr.read(c);
String str = new String(c,0,num);
System.out.println("读取的字符个数为:"+num+",其内容如下:");
System.out.println(str);
fr.close();
}
}
import java.io.*;
public class Main10_6 {
public static void main(String[] args)throws IOException{
FileWriter fw = new FileWriter("d:\\miyao.txt");
char[] c = {'H','e','l','l','o','\r','\n'};
String str = "欢迎使用Java!";
fw.write(c);
fw.write(str);
fw.close();
}
}
import java.io.*;
public class Main10_7 {
public static void main(String[] args)throws IOException
{
String thisLine;
int count = 0;
try
{
FileReader fr = new FileReader("d:\\miyao.txt");
BufferedReader bfr = new BufferedReader(fr);
while((thisLine = bfr.readLine())!=null)
{
count++;
System.out.println(thisLine);
}
System.out.println("共读取了"+count+"行");
bfr.close();
}
catch(IOException ioe)
{
System.out.println("错误!"+ioe);
}
}
}
import java.io.*;
public class Main10_8 {
public static void main(String[] args){
String str = new String();
try
{
BufferedReader in = new BufferedReader(new FileReader("d:\\miyao.txt"));
BufferedWriter out = new BufferedWriter(new FileWriter("d:\\miyao1.txt"));
while((str = in.readLine())!=null)
{
System.out.println(str);
out.write(str);
out.newLine();
}
out.flush();
in.close();
out.close();
}
catch(IOException ioe)
{
System.out.println("错误!"+ioe);
}
}
}
import java.io.*;
public class Main10_9 {
public static void main(String[] args)throws IOException{
String str = new String();
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader inp = new BufferedReader(isr);
String sdir = " d:\\cgj";
String sfile;
File fdir1 =new File(sdir);
if(fdir1.exists()&&fdir1.isDirectory())
{
System.out.println("文件夹:"+sdir+"已经存在");
for(int i =0; i<fdir1.list().length;i++)
System.out.println((fdir1.list())[i]);
File fdir2 = new File("d:\\cgj\\temp");
if(!fdir2.exists())
fdir2.mkdir();
System.out.println();
System.out.println("建立新文件夹后的文件列表");
for(int i =0;i<fdir1.list().length;i++)
System.out.println((fdir1.list())[i]);
}
System.out.print("请输入该文件夹中的一个文件名:");
sfile = inp.readLine();
File ffile = new File(fdir1,sfile);
if(ffile.isFile())
{
System.out.print("文件名:"+ffile.getName());
System.out.print(";所在文件夹:"+ffile.getPath());
System.out.println(";文件大小:"+ffile.length()+"字节");
}
if(inp!=null) inp.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
}
import java.io.*;
public class Main10_10 {
public static void main(String[] args)throws IOException
{
StringBuffer stfDir = new StringBuffer();
System.out.println("请输入文件锁在的路径");
char ch;
while((ch = (char)System.in.read())!='\r')
stfDir.append(ch);
File dir = new File(stfDir.toString());
System.out.println("请输入欲读取的文件名");
StringBuffer stfFileName = new StringBuffer();
char c;
while((c = (char)System.in.read())!='\r')
stfFileName.append(c);
stfFileName.replace(0,1,"");
File readFrom = new File(dir,stfFileName.toString());
if(readFrom.isFile() && readFrom.canWrite() && readFrom.canRead())
{
RandomAccessFile rafFile = new RandomAccessFile(readFrom,"rw");
while(rafFile.getFilePointer()<rafFile.length())
System.out.println(rafFile.readLine());
rafFile.close();
}
else
System.out.println("文件不可读!");
}
}