如何从创建的文件中读取整数?

时间:2014-06-30 10:06:16

标签: java io filereader filewriter

public static void main(String[] args) {
    ReadInts ri = new ReadInts("mydata.dat");
    }

我最近创建了一个名为mydata.dat的文件

使用Constructor,类从文件中调用数据的最简单方法是什么,只需将main方法留下来阅读它?

写入文件的代码:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class WriteInts {
    private String fname;

    public WriteInts(String fname) {
        this.fname = fname;
    }

    public void write(int... a) throws IOException {
        File file = new File(fname);
        try {
            System.out.println("Writing to-" + file.getAbsolutePath());

            if (!file.exists())
                file.createNewFile();
            file.canRead();

        } catch (IOException x) {
            x.printStackTrace();
        }
        BufferedWriter outputWriter = new BufferedWriter(new FileWriter(file));

        for (int i = 0; i < a.length; i++) {
            outputWriter.write(Integer.toString(a[i]));

            outputWriter.newLine();
        }

        outputWriter.flush();
        outputWriter.close();

    }

    public static void main(String[] args) {

        int myArr[] = { 16, 31, 90, 45, 89 };
        try {
            WriteInts wi = new WriteInts("mydata.dat");
            wi.write(myArr);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

3 个答案:

答案 0 :(得分:2)

您可以使用java.util.Scanner课程来阅读您的文件。具体为Scanner#hasNextInt()Scanner#nextInt()方法。

答案 1 :(得分:2)

我们可以这样阅读

Scanner scanner = new Scanner(new File("mydata.dat"));   
int [] tall = new int [100];
int i = 0;
while(scanner.hasNextInt()) {    
    tall[i++] = scanner.nextInt();   
}

答案 2 :(得分:0)

这可以让您了解如何继续执行任务:

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

public class ReadInts {
    private String fname;

    public ReadInts(String fname) {
        this.fname = fname;
    }

    public void read() throws IOException {
        File file = new File(fname);

        System.out.println("Reading from: " + file.getAbsolutePath());

        BufferedReader inputReader = new BufferedReader(new FileReader(file));

        String line;
        while ((line = inputReader.readLine()) != null) {
            int integer = Integer.parseInt(line);
            System.out.println(integer);
        }

        inputReader.close();
    }

    public static void main(String[] args) throws IOException {
        ReadInts ri = new ReadInts("mydata.dat");
        ri.read();
    }
}