要实现的是使用递归读取D:/test文件夹中d.txt文件,将里面的数字读到程序中 10

publicstaticvoidmain(String[]args)throwsIOException{Filefile=newFile("D:/test/d.txt")... public static void main(String[] args) throws IOException {
File file=new File("D:/test/d.txt");

FileInputStream fis=new FileInputStream(file);
byte[] buf = new byte[1024];
StringBuffer sb=new StringBuffer();
isnoentry(fis, sb,buf);
}

public static String isnoentry(FileInputStream fis,StringBuffer sb,byte[] buf) throws IOException{
if(fis.read(buf)!=-1){
sb.append(new String(buf));

buf=new byte[1024];//重新生成,避免和上次读取的数据重复
isnoentry(fis, sb,buf);
}else{
return sb.toString();
}
return null;
}
请大神们帮我看一下 我的代码哪里有问题
要实现的是使用递归读取D:/test文件夹中d.txt文件,将里面的数字读到程序中,倒序排列后写到D:/text2.txt中
展开
 我来答
爬虫飘过
2017-02-13 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:68.1万
展开全部
return sb.toString()改成sb.reverse().toString();

另外你代码有问题,首先,不应该用递归来做这个,当文件里的内容很大的时候,会导致栈溢出。
其次,你这里插入到文件,我不知道你想怎么实现,但是直接把sb.reverse()得到的内容插入到文件中,肯定是不行的,因为最终结果的正确性会依赖buf的大小。
你自己看看吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式