我试图使用 FileInputStream 读取文本文件并希望反向显示所有单词(所以最后一个单词将是第一个单词等)我能够使用字符串标记器反向显示所有字母,但不是话..我现在尝试了几种不同的方法,但似乎无法做到这一点
使用 ArrayList 我可以反转行(先打印最后一行,最后打印第一行)..但我找不到反转所有单词的方法
这是我的“test.txt”文件中的内容:
Java 的一个特点是可移植性,这意味着用 Java 语言编写的计算机程序必须在任何硬件/操作系统平台上都可以类似地运行。这是通过将 Java 语言代码编译为称为 Java 字节码的中间表示来实现的,而不是直接编译为特定于平台的机器代码。Java 字节码指令类似于机器代码,但它们旨在由专门为主机硬件编写的虚拟机 (VM) 解释。最终用户通常使用安装在他们自己机器上的 Java 运行时环境 (JRE) 来运行独立的 Java 应用程序,或者在 Web 浏览器中安装 Java 小程序。
代码:
import java.io.*;
import java.util.ArrayList;
public class RevWords6
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt"), "UTF-8"));
String lines = br.readLine();
ArrayList<String> buffer = new ArrayList<String>();
//while the data is not null
while(lines != null)
{
//String words[] = lines.split(" ");
//track formatting
if(lines != null)
{
buffer.add("\n");
buffer.add(lines); //I wanted to put the words array in here instead of "lines" but didn't know how
}
lines=br.readLine();
}
//reads lines backwards from ArrayList buffer but wanted to read words from end-to-beginning
for(int i = buffer.size()-1; i>=0; i--)
{
System.out.print(buffer.get(i));
}
br.close();
}
}
输出:
安装在他们自己的机器上用于独立的 Java 应用程序,或安装在 Web 浏览器中用于 Java 小程序。由专门为主机硬件编写的虚拟机 (VM)。最终用户通常使用 Java 运行时环境 (JRE) 字节码,而不是直接使用特定于平台的机器码。Java 字节码指令类似于机器代码,但它们旨在被解释为硬件/操作系统平台。这是通过将 Java 语言代码编译为称为 Java 的中间表示来实现的。Java 的一个特点是可移植性,这意味着用 Java 语言编写的计算机程序必须在任何
如您所见,它正在打印从下到上开始的行,但我想要从下到上开始的单词
在这里,我尝试使用带有字符串数组的 StringBuffer,将行分隔为一个空格,但在这种情况下,我只能反转每一行,而不能反转整个段落
代码:
import java.io.*;
public class RevWords4
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\Users\\Conor\\Documents\\test.txt"), "UTF-8"));
StringBuffer buffer = new StringBuffer();
String line = br.readLine();
String[] word = line.split(" ");
while(line != null)
{
if(line != null)
{
word = line.split(" ");
for(int i = word.length-1; i>=0; i--)
{
StringBuilder sb = new StringBuilder(word[i] + " ");
buffer.append(sb);
}
buffer.append("\n");
}
line=br.readLine();
}
System.out.print(buffer);
br.close();
}
}
输出:
任何在同样运行必须语言 Java 的编写程序的计算机上的可移植性,是 Java 的特点 一种称为表示中间体的 Java 代码语言 Java 的编译所实现的就是这个平台。硬件/操作系统被解释为它们是代码,机器类似于指令字节码Java代码。机器平台特定于直接而不是字节码,(JRE)环境运行时 Java 是一种常用的最终用户硬件。由小程序托管专门编写的 (VM) 机器虚拟机。Java 用于浏览器 Web 或应用程序,Java 独立用于机器自己安装
所以我很乐意接受任何关于这方面的建议和提示,谢谢