求编写一个java小程序
有一个文件夹(假如为A),下面有一个文件为A.java,然后把这个文件夹下的A.java文件,复制到本磁盘下文件为B的文件夹下,然后改扩展名为B.txt.这个题目要求自己...
有一个文件夹(假如为A),下面有一个文件为A.java,然后把这个文件夹下的A.java文件,复制到本磁盘下文件为B的文件夹下,然后改扩展名为B.txt. 这个题目要求自己判断文件夹下是不是有子文件夹,然后实现自己的思路和代码.
展开
4个回答
展开全部
你的意思是不是A.java文件可能存在文件夹A下,也可能存在文件夹A的子文件夹中??
更多追问追答
追问
恩 是的
追答
写个迭代搜索的方法就可以了
File find(File dir) {
File[] list = dir.listFiles();
for(File f:list) {
if(f.isFile()) {
if(f.getName().equals("A.java")) {
return f;
}
} else {
File rs = find(f);
if(rs != null) return rs;
}
}
return null;
}
找到了,返回那个File,找不到返回null,这个方法只返回找到的第一个文件。。拷贝、重命名就简单了
展开全部
用我的代码试试
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class T2 {
public static void main(String[] args) {
File fileA = new File("c:\\A");
if(!fileA.exists()){
System.out.println("未在C盘检测到文件夹A...自动创建A");
fileA.mkdirs();
}
File fileB = new File("c:\\B");
if(!fileB.exists()){
System.out.println("未在C盘检测到文件夹B...自动创建B");
fileB.mkdirs();
}
String str = "天王盖地虎,携手共甘苦.";
FileOutputStream fos = null;
try {
fos = new FileOutputStream(fileA+"\\A.java");
fos.write(str.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
try {
BufferedInputStream inBuff = new BufferedInputStream(
new FileInputStream(fileA+"\\A.java"));
BufferedOutputStream outBuff = new BufferedOutputStream(
new FileOutputStream(fileB+"\\B.txt"));
byte[] b = new byte[1024 * 5];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
outBuff.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
System.out.println("end...");
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个太简单了,我都不屑于写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询