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[] { '\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)的更多相关文章
- java面试题及答案(转载)
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- 115个Java面试题和答案——终极列表(下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- Java面试题(全)
JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...
- Java面试题大全(四)
JAVA代码查错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...
- 大公司的Java面试题集
找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...
- 收集了50道基础的java面试题
下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...
- Java笔试题解答和部分面试题
面试类 银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...
- 转: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 摘要:这一部分主要 ...
- JAVA面试题集之基础知识
JAVA面试题集之基础知识 基础知识: 1.C 或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就 ...
- [原]Java面试题-将字符串中数字提取出来排序后输出
[Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...
随机推荐
- 在where条件中使用CASE WHEN 语句
CREATE TABLE TB_Test_Report ( id int identity, stateid int, userid int, username ) ) go ,,'a') ,,'b' ...
- 共用字体-UI界面编辑器(SkinStudio)教程
添加一个Label控件,设置好字体属性 再添加一个Label控件,字体属性还是默认的 只需要将字体属性的Name字段名称改为需要使用的字体属性的Name字段名称即可(如Label1使用的字体)
- PHP基本问题
WampServer修改端口及菜单Localhost http://www.wuwenhui.cn/3047.html WAMPServer默认配置更改-web根目录 http://blog.csdn ...
- rotate the clock
A program test: You are given N round clocks. Every clock has M hands, and these hands can point to ...
- nginx 设置反响代理实现nginx集群
ginx.conf: worker_processes 1; events { worker_connections 1024; } http { include mime.types ...
- Android WebView 实现缓存网页数据
WebView中存在着两种缓存:网页数据缓存(存储打开过的页面及资源),H5缓存(即AppCache). 将我们浏览过的网页url已经网页文件(css.图片.js等)保存到数据库表中 缓存模式(5种) ...
- (九) 一起学 Unix 环境高级编程 (APUE) 之 线程
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- 关于Android中混淆的问题
1.签名打包后库依赖报错,提示找不到依赖库的方法. 原因:混淆,依赖库的方法被混淆了. 解决方法:过滤混淆,即不要混淆这依赖库的文件. -keep class de.greenrobot.event. ...
- flash builder关掉自动编译功能
菜单栏 项目,里面有个自动构建,把√去掉就ok了
- 解决winrar压缩软件弹出广告
最近winrar每次打开压缩包就会弹出一个广告,那是因为winrar是收费软件,注册了就没有广告了.下面我教大家怎么注册来屏蔽广告. 解决方法 1.新建一个txt文件并命名为"rarreg. ...