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. JQuery 操作按钮遮罩(删除)

    HTML代码: <input type="button" class="delete_btn" value="删 除" /> & ...

  2. android_开发环境配置

    在学习 Android 之前,需要配置开发环境. 我用的是 eclipse ,简单说下 eclipse 的 Android 的环境配置. 如果没有JDK得先下载:http://www.oracle.c ...

  3. Android菜鸟成长记4-button点击事件

    Button 1.button按钮的创建 一般来说,在我们新建一个Android项目的时候,会有会默认有一个activity_main.xml的文件 如果你在新建项目的时候,把Create Activ ...

  4. Decorator(装饰)-对象结构型模式

    1.意图 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. 2.别名 包装器 Wrapper. 3.动机 给某个对象而不是整个类添加一些功能.一个较为灵 ...

  5. Selenium2+python自动化17-JS处理滚动条

    前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候 ...

  6. javascript 的 clientX用法

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. canvas 画六边形边框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. WPF 获得鼠标相对于屏幕的位置,相对于控件的位置

    相对于屏幕的位置 第一步: /// <summary>    /// 用于获得鼠标相对于屏幕的位置    /// </summary>    public class Win3 ...

  9. Sql Server 简单查询 异步服务器更新语句

    //结构:select 子句 [into 子句] from 子句  [where 子句] [group by 子句]  [having 子句] [order by 子句] select  dept_c ...

  10. [Ng]Angular应用点概览

      1. 使用模块化写法. var app = angular.module('myApp', []); app.controller('TextController', function($scop ...