zoukankan      html  css  js  c++  java
  • Java面试题(1)

    1、编写一个程序,将d:java 目录下的所有.java 文件复制到d:jad 目录下,并将原来文件的扩展名从.java 改为.jad。

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FilenameFilter;
    import java.io.IOException;
    
    
    public class Jad2Java {
    
        public static void main(String[] args) throws Exception {
            //1.定位到文件的路径下
            File javaFile=new File("D:\java");
            //1.1判断文件夹是否存在,不存在就跑出异常
            if (!javaFile.exists()||!javaFile.isDirectory()) {
                throw new Exception("java文件夹不存在");
            }
            //2.找出所有的以“.Java”为后缀名的文件
            File[] javaFiles= javaFile.listFiles(new FilenameFilter() {
                
                @Override
                public boolean accept(File dir, String name) {
                    //System.out.println(name);
                    return name.endsWith(".java")?true:false;
                }
            });
            
            //3、创建新的文件夹
            File jadFile=new File("D://jad");
            //3.1如果文件不存在的话,那么就创建一个
            if (!jadFile.exists()) {
                jadFile.mkdir();
            }
            //4、将所有.Java的文件复制到Jad文件夹下面
            for (File file : javaFiles) {
                FileInputStream fis=new FileInputStream(file);
                String newJadName=file.getName().replaceAll("\.java$", ".jad");
                FileOutputStream fos=new FileOutputStream(new File(jadFile,newJadName));
                copy(fis,fos);
                fis.close();
                fos.close();
            }
            
        }
    /**
     * 将输入流中的内容输出
     * @param fis 文件输入流
     * @param fos 文件输出流
     */
        private static void copy(FileInputStream fis, FileOutputStream fos) {
            byte[] buff=new byte[1000];
            int lenth=0;
            try {
                while (-1!=(lenth=fis.read(buff))) {
                    fos.write(buff,0,lenth);        
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
    }

     

    2、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class MyReadFromFile {
        public void readFromFile() throws IOException {
            // 完成文件管理类的初始化
    
            FileManager f1 = new FileManager("data1.txt", new char[] { '
    ' });
    
            FileManager f2 = new FileManager("data2.txt", new char[] { '
    ', ' ' });
            // 将文件1和文件2循环写入
            String file1Str = f1.NextWord();
            String file2Str = f2.NextWord();
            FileWriter fw = new FileWriter("c.txt");
            while (file1Str != null) {
                fw.write(file1Str);
                if (!file2Str.isEmpty()) {
                    fw.write(file2Str);
                }
                file2Str = f2.NextWord();
                file1Str = f1.NextWord();
            }
    
            while (!file2Str.isEmpty()) {
                fw.write(file2Str);
                file2Str = f2.NextWord();
            }
            // 可能遇到的情况,文件1写完了,但是文件2还没有写完
            fw.close();
    
        }
    
        public static void main(String[] args) {
    
        }
    
        class FileManager {
    
            private int position = 0;
            private String[] Words;
    
            public FileManager(String FileName, char[] Seperate)
                    throws FileNotFoundException {
                File mFile = new File(FileName);
                FileReader fileReader = new FileReader(mFile);
                String regex = null;
                if (Seperate.length > 1) {
                    regex = "" + Seperate[0] + "|" + Seperate[1];
                } else {
                    regex = "" + Seperate[0];
                }
                char[] Data = new char[(int) mFile.length()];
                try {
                    int Lenth = fileReader.read(Data);
                    String longWords = new String(Data, 0, Lenth);
                    Words = longWords.split(regex);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
    
            }
    
            public String NextWord() {
                if (position == Words.length) {
                    return null;
                }
                return Words[position++];
    
            }
        }
    }
  • 相关阅读:
    POJ2286 The Rotation Game
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/kissazi2/p/3328434.html
Copyright © 2011-2022 走看看