从文件中读取数字并创建数组(java)

从文件中读取数字并创建数组(java),java,arrays,sorting,filereader,duplicate-removal,Java,Arrays,Sorting,Filereader,Duplicate Removal,我不知道如何将这个带有数字的txt文件做成一个数组,我可以让它读取并打印屏幕,但我需要能够组织数字并删除重复的数字。到目前为止,我的代码就是这样的 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class File { public static void main(Strin

我不知道如何将这个带有数字的txt文件做成一个数组,我可以让它读取并打印屏幕,但我需要能够组织数字并删除重复的数字。到目前为止,我的代码就是这样的

import java.io.BufferedReader; 
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class File {
 public static void main(String[] args) {
 String filename = "C:/input.txt";

 File rfe = new File();
 rfe.readFile(filename);
 }

 private void readFile(String name) {
 String input;

  try (BufferedReader reader = new BufferedReader(new FileReader(name))) {

    while((input = reader.readLine()) != null) {
        System.out.format(input); // Display the line on the monitor
    }
}
 catch(FileNotFoundException fnfe) {

 }
 catch(IOException ioe) {

 }
 catch(Exception ex) { // Not required, but a good practice

 }


}
}

我建议使用ArrayList而不是数组

对于数组,在初始化它之前,您必须解析列表并计算行数。ArrayList更加灵活,因为您不必声明将向其添加多少值

import java.io.BufferedReader; 
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class File {

private List<Integer> data = new ArrayList<Integer>(); //Create ArrayList

public static void main(String[] args) {
    String filename = "C:/input.txt";

    File rfe = new File();
    rfe.readFile(filename);
}

private void readFile(String name) {
    String input;

    try (BufferedReader reader = new BufferedReader(new FileReader(name))) {

        while((input = reader.readLine()) != null) {
            data.add(Integer.parseInt(input));//Add each parsed number to the arraylist
            System.out.println(input); // Display the line on the monitor
        }
    }
    catch(FileNotFoundException fnfe) {

    }
    catch(IOException ioe) {

    }
    catch(Exception ex) { // Not required, but a good practice
        ex.printstacktrace(); //Usually good for general handling
    }

}
}
导入java.io.BufferedReader;
导入java.io.FileNotFoundException;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
公共类文件{
私有列表数据=新建ArrayList();//创建ArrayList
公共静态void main(字符串[]args){
字符串filename=“C:/input.txt”;
File rfe=新文件();
rfe.readFile(文件名);
}
私有void readFile(字符串名称){
字符串输入;
try(BufferedReader=new BufferedReader(new FileReader(name))){
while((input=reader.readLine())!=null){
data.add(Integer.parseInt(input));//将每个解析的数字添加到arraylist中
System.out.println(输入);//在监视器上显示该行
}
}
捕获(FileNotFoundException fnfe){
}
捕获(ioe异常ioe){
}
catch(Exception ex){//不是必需的,但这是一种良好的做法
例如printstacktrace();//通常适用于一般处理
}
}
}

这里输入的来源真的很重要吗?你的问题似乎是[如何]组织数字并删除重复的数字。您做了什么来实现这一点?只需将它们添加到
集合
。重复项将自动消除Java中的数组不是动态数据结构,因此不能“删除元素”。你期望什么样的产出?你得到了什么输出?谢谢!我正在自学如何编码,所以这真的很有帮助!没问题,快乐编码!