频道栏目
首页 > 资讯 > Java > 正文

Java随机读取本地文件夹下面的所有文件,并通过StringBuffer换行输出

18-06-13        来源:[db:作者]  
收藏   我要投稿

Java随机读取本地文件夹下面的所有文件,并通过StringBuffer换行输出。

题目详述:通过Java来从一个本地含有很多文件的文件夹下面获取文件路径,然后通过Random随机不重复选择一个文件路径,并通过字符串流的形式读取出来,并显示到控制台上面,如果你会写界面的话,还可以写到界面上,还是比较炫酷的哟!

分析

1,我们要想一下如何获取一个文件夹下面的所有文件的路径呢?

2,我们要想一下如何来从文件路径随机获取一个路径,注意;这里还是要不重复获取,这个主要是我在进行余弦距离比较的时候不能有两个相同的文档进行比较?

3,我们要想一下如何来通过StringBuffer来进行换行输出到控制台上或者Java界面上(后者仅仅进行拓展)?

采用方法

1,问题1嘛,其实也还是挺简单的,这里就给大家留一个小谜题,大家自己去想一下如何获取文件路径,并保存在一个String数组中;

2,问题2嘛,方法也有很多,我就直接用的是Random来实现,大家也可以用自己的方法;

3,问题3嘛,其实也比较简单,用输入输出流再加上StringBuffer的append方法追加到一个StringBuffer中,然后再转换(toString)为字符串String就行,最后再System.out.println(String)就行了(这里主要是为了封装的要好一些,个人习惯哈哈,完全可以不要封装,直接输出也可以)。

代码奉上

问题1代码省略,大家自行研究……

问题2代码:

//随机获取一个文件路径,七中flg_1为文件的总数目,为int型的

public static String RandomFile(){

int random_index = (int) (Math.random()*flg_1);

String str = null;

str = FileName[random_index];

FileName[random_index] = FileName[flg_1 - 1];

flg_1 --;

return str;

}

//解析:这里我们要实现不重复获取,也就是要获取一个就要将这个文件的路径从总数中减去,哈哈,学过C语言的都能看懂是那两步吧,没错,就是这两步:

FileName[random_index] = FileName[flg_1 - 1];

flg_1 --;

问题3代码:

public static StringBuffer getDocuments() throws IOException {

String filename = Indexer.RandomFile();//获取随机文件路径

FileInputStream fis = new FileInputStream(filename);//要读的文件

InputStreamReader isr = new InputStreamReader(fis);//字符流

BufferedReader br = new BufferedReader(isr);//缓冲

String line = null;

StringBuffer Str = new StringBuffer();

while((line = br.readLine()) != null){//读取的字符不等于空

Str.append(line);//一行一行的存入字符串流中

Str.append("\n");

//System.out.println(line + "\n");

}

br.close();

if(Str.length()!=0)

return Str;

return null;

}

相关TAG标签
上一篇:HTTP代理教程:转发代理和反向代理及重定向讲解
下一篇:Java实现随机返回字符串数组中的字符串
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站