当前位置: 首页 > 面试题库 >

如何读取同一包内的文件

公孙国兴
2023-03-14
问题内容

我创建了一些代码,要求用户输入int值,然后将其传递给我的第一个方法parity()。然后,Parity()会告诉用户它是奇数还是偶数。该方法完成后,我希望我的主程序打开与程序位于同一程序包中的文件,但我的异常不断出现,并终止输出“找不到文件或无法打开文件”的程序是一个简单的修复程序,但是我尝试的大部分操作并没有使它变得更好。到目前为止,这是我的代码:

package davi0030;
import java.util.Scanner;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class Assignment01 {

        static void parity(int value){
            int finalValue = value % 2;
            if (finalValue == 0){
                System.out.println(value + " is an even int!");
                }
            else{
                System.out.println(value + " is an odd int!");
            }

        }

        static void findPair(int value2, Scanner inputStream){
            int total;
            int n1 = inputStream.nextInt();
            while (inputStream.hasNextLine()){
                total = 0;
                int n2 = inputStream.nextInt();
                total = n1 + n2;
                if (total == value2){
                    System.out.println("a pair is found: " +n1 + " and " +value2+ " add to " + total);
                    System.exit(0);
                }
                System.out.println("no pair in the file adds to" + total);

            }

        }

        public static void main(String[] args) {

            int value1;
            int value2;
            Scanner inputStream = null;
            Scanner keyboard = new Scanner(System.in);
            System.out.println("Enter a positive integer, 0 to end:");
            value1 = keyboard.nextInt();
            while (value1 != 0){
                parity(value1);
                System.out.println("Enter a positive integer, 0 to end:");
                value1 = keyboard.nextInt();
            }
            if (value1 == 0){
                System.out.println("Congratulations, you passed the first test");
                try{
                    inputStream = new Scanner(new FileInputStream("numbers.txt"));
                }
                catch (FileNotFoundException e)
                {
                    System.out.println("File was not found or could not be opened");
                    System.exit(0);
                }
                System.out.println("file opened successfully");
                System.out.println("Enter a positive integer");
                value2 = keyboard.nextInt();
                findPair(value2, inputStream);
            }
            keyboard.close();
            System.exit(0);


        }
    }

问题答案:

我不确定我是否理解正确的问题,但是我可以告诉你,您可以使用以下方法读取同一包中的文件:

BufferedReader reader = new BufferedReader(new InputStreamReader(Assignment01.class.getResourceAsStream("numbers.txt"), "UTF-8"));


 类似资料:
  • 我一直在努力阅读java项目中的文本文件,我一整天都在寻找解决方案,我尝试了很多方法,但没有一个有效。其中一些:(另外,我必须使用文件和扫描程序类) 异常线程"main"java.nio.file.NoSuchFileExc0019: test\fileTest.txt 异常线程"main"java.lang.NullPointerExc0019 线程“main”java中出现异常。木卫一。Fil

  • 我在三个阶段阅读xml文件,在每个阶段,我对不同的元素感兴趣,基于输入参数。 使用XMLStreamReader多次读取一个xml文件的最佳方法是什么? 其中inputStream是FileInputStream实例 目前,我得到了StreamClosed异常或streamReader。当我开始第二阶段读取时,hasNext()为false。

  • 问题内容: 我正在尝试在Python中多次读取某些文件的行。 我正在使用这种基本方式: 一切正常,但是如果我想在文件仍处于打开状态的情况下每行第二次进行迭代,例如: 然后它不起作用,我需要打开,然后关闭,然后再次打开我的文件以使其正常工作。 感谢您的回答! 问题答案: 使用file.seek()跳到文件中的特定位置。但是,请考虑是否真的有必要再次浏览该文件。也许有更好的选择。

  • 问题内容: 我想使用其中包含图像。 我不想使用,因为我想将此主体直接写入文件并希望对其进行解码,所以我只想使用对内容的引用来传递给进一步的函数调用, 我尝试创建读取器的多个实例,如下所示 但是在第二次通话中它总是导致。 请帮助我如何为同一读者传递多个单独的参考? 问题答案: 被视为流。因此,您无法阅读两次。想象一下传入的TCP连接。您无法倒带进来的内容。 但是您可以使用复制流: Go Playgr

  • 我相信我需要创建一个JsonReader对象并调用其中一个Json静态方法,但我在读取文件时遇到了问题。json。 创建读取器方法似乎要求输入是一个字符串。我应该继续尝试将我的整个JSON文件解释为字符串吗?