Java面试题系列之Java基础类库(三)




                             动力节点Java学院整理


Java面试题(11)请写一个程序的读写,要求用两种方式一种是低层流另一种是高层流。


import java.io.FileWriter;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
    public static void writeFileChar() throws Exception {
        FileWriter f = new FileWriter("c:\aa.txt");
        InputStream is = System.in;
        int c = is.read();
        while (((char) c) != 'x') {
            f.write(c);
            c = is.read();
        }
        f.close();
        is.close();
    }
    public static void writeFileString() throws Exception {
        FileWriter f = new FileWriter("c:\aa.txt");
        BufferedWriter bwr = new BufferedWriter(f);
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String c = bf.readLine();
        while (!c.equals("stop")) {
            bwr.write(c);
            c = bf.readLine();
        }
        bwr.close();
        f.close();
        bf.close();
    }
    public static void readFileChar() throws Exception {
        FileReader f = new FileReader("c:\aa.txt");
        int c = f.read();
        while (c != -1) {
            System.out.print((char) c);
            c = f.read();
        }
        f.close();
    }
    public static void readFileString() throws Exception {
        BufferedReader bf = new BufferedReader(new FileReader("c:\aa.txt"));
        String c = bf.readLine();
        while (c != null) {
            System.out.println(c);
            c = bf.readLine();
        }
        bf.close();
    }
    public static void main(String[] args) throws Exception {
        readFileString();
    }
}





Java面试题(12)如何列出某个目录下的所有文件


import java.io.File;

public class Test {

    public static void main(String[] args) {

        File f = new File("C:\");

        File[] f1 = f.listFiles();

        for (int i = 0; i < f1.length; i++) {

            if (f1[i].isDirectory()) {

                System.out.println("dirctory is" + f1[i].getName());

            } else {

                System.out.println("file is" + f1[i].getName());

            }

        }

    }

}




1. 如何列出某个目录下的所有子目录

public static void main(String[] args) throws Exception
{
 getFile(new File("C:\entityBean"),"	");
}
public static void getFile(File f,String sem) throws Exception
{
 System.out.println(sem+f.getName());
 File fl[]=f.listFiles();
 if(fl.length>=1)
 {
 for(int i=0;i<fl.length;i++)
 {
 if(fl[i].isDirectory())
 {
 getFile(fl[i],sem+"	");
 }
 }
 }
 }


2. 判断一个文件或目录是否存在

 File f=new File("C:\entityBean");
 if(f.exists())
 {
 System.out.println("exist");
 }
 else
 {
 System.out.println("not exist");
 }
Socket


 

Java面试题(13) socket 通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据?

public class ServerSocket_1
{
 public static void main(String[] args)
 throws Exception
 {
 ServerSocket ss = new ServerSocket(4001);
 Socket s = ss.accept();
 BufferedReader br = new BufferedReader(new InputStreamReader(s.
 getInputStream()));
 PrintStream ps=new PrintStream(s.getOutputStream());
 String temp = br.readLine();
 while (true)
 {
 System.out.println("客户端:"+temp);
 ps.println(temp);
 if (temp.equals("stop"))
 {
 break;
 }
 temp = br.readLine();
 }
 br.close();
 ps.close();
 ss.close();
 }
}
public class ClientSocket
{
 public static void main(String[] args) throws Exception
 {
 Socket s = new Socket("localhost", 4001);
 PrintStream ps = new PrintStream(s.getOutputStream());
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 BufferedReader br_server = new BufferedReader(new InputStreamReader(s.
 getInputStream()));
 String&nb