将文件中的单词存储到Java字符串中
我需要帮助构建一个数组,其中包含.txt文件的值 文本文件示例:将文件中的单词存储到Java字符串中,java,arrays,Java,Arrays,我需要帮助构建一个数组,其中包含.txt文件的值 文本文件示例: this is the text file. 我希望阵列看起来像: Array[0]:This Array[1]:is etc.. 希望有人能帮助我,我熟悉如何打开、创建和读取文本文件,但目前仅此而已。一旦我能阅读数据,我就不知道如何使用/处理数据。这是迄今为止我所能建造的最大的一个 import java.util.*; import java.io.*; public class file { private Sca
this is the text file.
我希望阵列看起来像:
Array[0]:This
Array[1]:is
etc..
希望有人能帮助我,我熟悉如何打开、创建和读取文本文件,但目前仅此而已。一旦我能阅读数据,我就不知道如何使用/处理数据。这是迄今为止我所能建造的最大的一个
import java.util.*;
import java.io.*;
public class file {
private Scanner x;
public void openFile(){
try{
x=new Scanner(new File("note3.txt"));
}
catch(Exception e){
System.out.println("Could not find file"); }}
public void readFile(){
String str;
while(x.hasNext()){
String a=x.next();
System.out.println(a);}}
public void closeFile(){
x.close();}}
单独的文件读取
public class Prac33 {
public static void main(String[] args) {
file r =new file();
r.openFile();
r.readFile();
r.closeFile();
}
}
我希望将这些文件存储到一个数组中,以后可以使用该数组按字母顺序对文件进行排序。您可以先将整个文件存储到一个字符串中,然后将其拆分:
...
String whole = "";
while (x.hasNext()) {
String a = x.next();
whole = whole + " " + a;
}
String[] array = whole.split(" ");
...
或者您可以使用ArrayList,这是一种“更清洁”的解决方案:
...
ArrayList<String> words= new ArrayList<>();
while (x.hasNext()) {
String a = x.next();
words.add(a);
}
//get an item from the arraylist like this:
String val=words.get(index);
...
您可以添加到ArrayList,而不是System.out.printlna
然后,您可以使用以下方法将ArrayList转换为字符串数组:
String[] array = list.toArray(new String[list.size()]);
使用
使用bufferedReader对象迭代并读取文件中的行。使用StringTokenizer根据空空间标记并将其存储到阵列中的帖子。以下是您可以执行的操作:
import java.util.*;
import java.io.*;
public class file {
private Scanner x;
public void openFile() {
try {
x = new Scanner(new File("note3.txt"));
} catch (Exception e) {
e.printStackTrace();
}
}
public String[] readFile(String[] array) {
long count = 0;
while (x.hasNext()) {
String a = x.next();
array[(int) count] = a;
System.out.println(a);
count++;
}
return array;
}
public void closeFile() {
x.close();
}
}
数组的问题是,首先必须知道文本文件中有多少个单词。列表可能会更好。通过对文件进行排序,您是指单词还是句子?通过单词,我的目标是按字母顺序对文件中的所有单词进行排序,并删除Nessary中重复的单词。如果你从不同的角度看待这个问题,请告诉我。谢谢该文件具有什么类型的字符?只是字母呢?它只由单词组成,没有数字或符号。etcStringTokenizer多年来一直被弃用。扫描仪是正确的类别使用。感谢您的快速回复,我感谢您的时间。我尝试插入public void readFile{ArrayList words=new ArrayList;而x.hasNext{String a=x.next;words.adda;}但我得到一个错误,源代码级别低于1.7时不允许使用运算符?是的,这是因为低于V1.7的java不允许泛型参数推断。请将new ArrayList更改为new arrarylist
import java.util.*;
import java.io.*;
public class file {
private Scanner x;
public void openFile() {
try {
x = new Scanner(new File("note3.txt"));
} catch (Exception e) {
e.printStackTrace();
}
}
public String[] readFile(String[] array) {
long count = 0;
while (x.hasNext()) {
String a = x.next();
array[(int) count] = a;
System.out.println(a);
count++;
}
return array;
}
public void closeFile() {
x.close();
}
}