问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

要将指定路径中的目录结构写入到一个文本文件中,怎么做?(用java)

发布网友 发布时间:2022-05-12 22:45

我来回答

2个回答

热心网友 时间:2023-10-27 18:54

很高兴回答你的问题,根据你的需求,我刚写了段代码(执行没有问题),可能比较简单,但是你要的功能(遍历子目录,写入指定文件)都以实现:
package file;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class TestFiles {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args){
String mbfile = "D:\\file.txt";//写入目录结构的目标文件
File file = new File("D:\\test");//需要读取目录
OutputStream streamOut = null;
try {
streamOut = new FileOutputStream(mbfile);
serach(file, true,streamOut);
streamOut.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(streamOut!=null)
//关闭流
streamOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

/**
* 遍历目录及子目录
* @param file
* @param isdepth 是否遍历子目录
* @param streamOut
* @throws IOException
*/
public static void serach(File file,boolean isdepth, OutputStream streamOut) throws IOException{
File[] files = file.listFiles();
File temp = null;
for(int i=0;i<files.length;i++){
temp = files[i];
if(temp.isDirectory()&& isdepth){
serach(temp,true,streamOut);
}
System.out.println(temp.getAbsolutePath());
streamOut.write((temp.getAbsolutePath()+"\r\n").getBytes());// 追加\r\n是代表换行
}
}
}
如有问题,请Hi我!祝学习愉快!追问你好,能把你的qq给我吗?我知道这样很冒昧,但是我只是想问你点问题,没有别的,因为上面的有些代码我不是很明白

追答250267873

热心网友 时间:2023-10-27 18:55

* @param path 目标文件路径

* @param content 需要写入的内容

* @return 写入结果

*/

public static boolean writeToFile(String path, String content)

{

final int CACHE = 1024;

boolean result = false;

FileOutputStream outFile = null;

FileChannel channel = null;

// 将字符串转换为字节数组

final byte[] bt = content.getBytes();

ByteBuffer buf = null;

try

{

outFile = new FileOutputStream(path);

channel = outFile.getChannel();

// 以指定的缓存分隔字节数组,得到缓存次数

int size = bt.length / CACHE;

// 得到被缓存分隔后剩余的字节个数

int mod = bt.length % CACHE;

int start = 0;

int end = 0;

for(int i = 0; i < size + 1; i++)

{

if(i == size)

{

if(mod > 0)

{

// 分配新的字节缓冲区

buf = ByteBuffer.allocate(mod);

start = end;

end += mod;

}

else

{

break;

}

}

else

{

// 分配新的字节缓冲区

buf = ByteBuffer.allocate(CACHE);

start = end;

end = (i + 1) * CACHE;

}
// 反转缓冲区,为通道写入做好准备

buf.flip();

// 利用通道写入文件

channel.write(buf);

result = true;

}

}

catch(IOException e)

{

e.printStackTrace();

}

finally

{

// 关闭所有打开的IO流

try

{

channel.close();

outFile.close();

}

catch(IOException e)

{

e.printStackTrace();

}

}

return result;

}

/**

* 以指定的始末位置从字节数组中获取其子数组

* @param bt 原始字节数组

* @param start 起始位置

* @param end 结束位置

* @return 子字节数组

*/

private static byte[] getSubBytes(byte[] bt, int start, int end)

{

int size = end - start;

byte[] result = new byte[size];

for(int i = 0; i < size; i++)

{

result[i] = bt[i + start];

}

return result;

}

// 以指定的始末位置获取一个缓存大小的字节

byte[] bytes = getSubBytes(bt, start, end);

for(int j = 0; j < bytes.length; j++)

{

buf.put(bytes[j]);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
卡耐基的智慧大全集内容简介 会说话赢天下内容简介 卡耐基演讲与口才内容简介 商务口才训练内容简介 卡耐基金牌口才作者简介 卡耐基商务口才 作者简介 爱因斯坦的更多故事 杨柯叶谨言是什么电视 房贷和消费贷利率差别不大,但是还款金额差别挺大,都是怎么计算的... ...11月18号提现1500元、,11月25号还款1515,请问我还需要还 包与存储Java源文件的目录结构的关系是什么 兄弟的红米note2手机联通版支持移动吗? 青岛农业大学有美术专科专业吗,分数都要求多少? 红米note2移动版能用联通的卡吗 2011山东文科考生385分可以上青岛农业大学的专科吗?什么专业? 青岛农业大学有专科吗 青岛农业大学找专科生吗?最低分是多少?? 山东2011年考生441分能报青岛农业大学专科吗 青岛农业大学海都学院专科需要多少分。 红米note2移动版支持联通4g吗 两个月小猫叫声特别沙哑 是怎么回事 小米八发布会什么时间 捡了一只小猫,大约一到两个月,不停地叫,嗓子都哑了。怎么办啊? 蓝屏0x00000124 ntoskrnl.exe 求解决 !! win7 64位,蓝屏0x00000124,有没有更好的解决办法? 猫咪不到两个月大,叫声好沙哑。 洗牙后,牙齿有4颗松动,且口腔有点木,已经1个月了,请问怎么办 洗牙后牙齿松动疼痛,怎么治疗?牙齿松动跟洗牙有关? 0x00000124 蓝屏解决 成都七中高新校区的作息时间 怎么让ant工具能够按目录结构编译java文件 java资源文件 蟹糊浓稠加什么 做咸蟹要白酒淹没吗 怎么样看手机 怎么样看手机是什么形号 汉服也出盲盒了,你会选择购买吗? 汉服盲盒让人哭笑不得,如今汉服事业的发展值得参与投资吗? 对申请贫困生补助的人购买汉服这件事,你怎么看? 山有扶苏的真丝汉服值得买吗? 有哪些好看的汉服值得新手购买? 王者荣耀英雄皮肤碎片福袋性价比怎么样值得买吗 现在的汉服体验馆做的好不好,值得去消费吗? 米游社388福袋值得买吗 结合自己的实际情况拟写个人简历中的社会实践部分。个人简历中的社会实践经历要怎么写 看到淘宝网上不少人买汉服,没回去干什么的呢? 索尼照相机什么型号的最好 索尼相机1500左右的什么型号的好? 智能远程遥控平开门机关门响如何调节 本地连接DNS服务器的地址么可以设成网关的IP地址?