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. ...
随机推荐
- 【BZOJ3504】危桥(最大流)
题意:见题面 思路:http://www.cnblogs.com/chenyushuo/p/5139556.html 必须交换b1,b2做第二次最大流的原因: 假如一个a1到b2的一个流和b1到a2的 ...
- Android-Junit-Report测试报告生成——Android自动化测试学习历程
视频地址: http://www.chuanke.com/v1983382-135467-384869.html 这个内容其实已经在用了,我在上一篇文章robotium—只有apk文件的测试中已经讲过 ...
- HDOJ 4508 湫湫系列故事——减肥记I (完全背包带优化)
完全背包的模版题.. 加了一个小优化 n^2的写法 O(V+N)在本题中复杂度较高 不采纳 完全背包问题有一个很简单有效的优化,是这样的:若两件物品i.j满足c[i]<=c[j]且w[i]&g ...
- RTX2010服务器端的主要通信端口有哪些?
RTX服务端程序在安装之后,如果安装服务端电脑的操作系统有防火墙(如Windows XP.Windows2003等)或者安装了防火墙(如瑞星.Norton等),那么需要在防火墙上打开RTX所需要使用的 ...
- 交换机和VLAN
交换机 交换机的两个作用:一是维护CAM表,CAM表是计算机的MAC地址和交换机端口的映射表:另一个是根据CAM来进行数据的转发. 以太网交换机转发数据帧有三种方式: 1.存储转发:即先存储后转发的方 ...
- 解决: Can’t connect to local MySQL server through socket /var/lib/mysql/mysql.sock
今天在搬瓦工上使用mysql 命令行,总报一个这样的错:Can't connect to local MySQL server through socket '/xxxxx/mysql.sock',一 ...
- 自定义php安装(2)—mysql安装和php整合
1. 写一段php 代码来测试是否成功! //目前你看不懂,没关系 <?php $conn=mysql_connect("localhost","root ...
- RNN and LSTM saliency Predection Scene Label
http://handong1587.github.io/deep_learning/2015/10/09/rnn-and-lstm.html //RNN and LSTM http://hando ...
- SQL Server 树查询
WITH treeAS(SELECT ParentAssetID, AssetID,1 AS x2level,nodename,CAST(nodename AS NVARCHAR(max)) x2na ...
- js控制控件不可编辑
js 页面加载执行 function Isedit() { //document.getElementById("SyTxtBox23_DataControl").disabled ...