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++]; }
}
}

Java面试题(1)的更多相关文章

  1. java面试题及答案(转载)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  2. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  3. Java面试题(全)

    JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...

  4. Java面试题大全(四)

    JAVA代码查错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

  5. 大公司的Java面试题集

    找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...

  6. 收集了50道基础的java面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  7. Java笔试题解答和部分面试题

    面试类  银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...

  8. 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101

    Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...

  9. JAVA面试题集之基础知识

                           JAVA面试题集之基础知识 基础知识:  1.C 或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就 ...

  10. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

随机推荐

  1. Linux档案与目彔的基本操作(查看与权限)

    此文包含的命令: cd.pwd.mkdir.rmdir.rm.ls.cp.mv.cat.tac.more.less.head.tail.od.touch.umask.chattr.lsattr.fil ...

  2. 查看lock

    select a.session_id,a.oracle_username, a.os_user_name, b.owner "OBJECT OWNER", b.object_na ...

  3. C#的UDP服务器

    最新优化版本 /* http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html */ using System; using ...

  4. 解决winrar压缩软件弹出广告

    最近winrar每次打开压缩包就会弹出一个广告,那是因为winrar是收费软件,注册了就没有广告了.下面我教大家怎么注册来屏蔽广告. 解决方法 1.新建一个txt文件并命名为"rarreg. ...

  5. vim 中乱码问题

    在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些命令来解决的.一直没有理解为什么会出乱码,本文就是想认真分析 ...

  6. linux服务之X windows

    gnome display manager :gdm window manager :metacity x-server x-client [root@localhost gdm]# xlsclien ...

  7. 发布一个UDP调试助手

    UDP协议适用于那种频繁通信,但是可以容忍一些丢包的应用,比如GPS的定位应用. 调试UDP助手,可以定时发送,输出文本, 记录收到时间. 1. 该工具基于IOCP网络模型,调试UDP服务使用的一个工 ...

  8. 日志log使用序列反序列加密(Serializer) DESCrypto 加密

    若一次加密一个文件内容,文件内容不会更新变化,网上大多数序列化反序列加密程序是没问题的. 1:由于log文件的随时会更新内容,那网上常用的程序是行不通的.需要做修改 若想通过打开txt , using ...

  9. 【OpenGL】VS2010环境配置 [转]

    基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL.Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里 ...

  10. 手拼Table 前台显示

    一:前台 <table border=</table> 二:后台 //表头 public void TABTITLE() { TblList.Rows.Clear(); HtmlTa ...