我有一个分配,我需要反向读取文件的内容,如下所示:
原件:
This is how you reverse a file, 10
新:
10 ,file a reverse you how is This
这是我的代码:
public static void main(String [args]{
Path file = Paths.get("C:\\Java\\Sample.txt");
InputStream input = null;
ArrayList<String> words = new ArrayList<String>();
try{
input = Files.newInputStream(files);
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String s;
while((s = reader.readLine()) != null)
words.add(s);
for(int i = words.size() - 1; i >= 0; i--){
System.out.print(words.get(i));
}
catch(Exception e){
System.out.println(e);
}
}
如果格式化已关闭,请抱歉。该程序只是以原始形式读取文件。我究竟做错了什么?任何人都可以解释我需要向后打印这个打印件吗?我的教科书没有解释任何事情。 而且,我意识到我的捕获块可能太宽泛了。我会继续努力。
编辑:我输入时忘了添加ArrayList代码。它已存在于我的原始程序中。谢谢
答案 0 :(得分:2)
while((s = reader.readLine()) != null)
words.add(s);
第二行表示s
包含单词,但第一行一次读取一行。您需要一次阅读一个单词,或split the lines单词。