博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java面试题(1)
阅读量:6802 次
发布时间:2019-06-26

本文共 3997 字,大约阅读时间需要 13 分钟。

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[] { '\n' });        FileManager f2 = new FileManager("data2.txt", new char[] { '\n', ' ' });        // 将文件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++];        }    }}

转载于:https://www.cnblogs.com/kissazi2/p/3328434.html

你可能感兴趣的文章
RH124 第三单元 在图形环境中获取帮助
查看>>
Android第二十三期 - 256k的ListView下拉刷新和滚动加载数据
查看>>
技术团队的打造
查看>>
Juniper NetScreen常见问题汇总
查看>>
arcgis portal使用问题及解决方法
查看>>
nagios 主机组定义
查看>>
用yum来安装或卸载CentOS图形界面包
查看>>
我的友情链接
查看>>
linux
查看>>
H3C华为交换机破解console密码
查看>>
2015年11月8日-11月17日课程作业
查看>>
mysql 报错:error while loading shared libraries: libmysqlclient.so.15
查看>>
linux之SQL语句简明教程
查看>>
SpringBoot RESTful 应用中的异常处理小结
查看>>
域用户像服务器上传文件
查看>>
GRE over IPSCE
查看>>
我的友情链接
查看>>
Spinner的总结
查看>>
职场检讨术:算计别人就是伤害自己
查看>>
豹仔视觉个人文章
查看>>