簡體   English   中英

如何使用Eclipse將txt文件作為我的system.in讀取

[英]How to read a txt file as my system.in using eclipse

我正在解決代碼廚師的問題。 我遇到了一個問題,所有問題都在於我的答案有誤。 我想測試我的程序以查看其輸出,但是它從文本文件讀取輸入,但是我不知道如何使用Eclipse來執行此操作,我的代碼如下:

import java.io.*;
class Holes {

public static void main(String[] args) throws IOException{
    // TODO Auto-generated method stub
    BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
    int testCases = Integer.parseInt(r.readLine());

    for (int i =0; i<testCases; i++)
    {
        int holes = 0;
        String s = r.readLine();
        for (int j= 0; j< s.length(); j++)
        {
            char c = s.charAt(j);
            if (c == 'B')
                holes += 2;
            else if (c== 'A' || c== 'D' ||c== 'O' ||c== 'P' ||c== 'Q' ||c== 'R' )
            {
                holes +=1;
            }
            System.out.println(holes);
        }
    }   
}

}

將文件夾添加到您的Eclipse項目中,在該文件夾中添加輸入文件,然后使用BufferReader讀取它,如下所示:BufferedReader br = null;

try {

    String sCurrentLine;

    br = new BufferedReader(new FileReader("yourFolder/theinputfile.txt"));

    while ((sCurrentLine = br.readLine()) != null) {
        System.out.println(sCurrentLine);
    }

} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (br != null)br.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

這是另一種方法,是將路徑作為參數傳遞給程序,如下所示

try {

        String sCurrentLine;

        br = new BufferedReader(new FileReader(args[0]));

        while ((sCurrentLine = br.readLine()) != null) {
            System.out.println(sCurrentLine);
        }

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (br != null)br.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

如何在運行應用程序時執行配置並在那里找到args,您可以在其中添加任何路徑,例如c:\\ myinput.txt,希望有幫助

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

public class BufferedReaderExample {

    public static void main(String[] args) {

        BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader("C:\\testing.txt"));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM