相关疑难解决方法(0)

如何在Java中使用Buffered Reader

对不起,如果这是一个显而易见的问题,但我似乎无法得到它.我正在为数据结构课程分配工作.它涉及从简单的.dat文件中提取数据.我们之前从未使用过Java中的任何文件访问选项,所以教授只是给了我们这篇文章的工作代码.因此,一个名为'FileReadExample'的类创建一个新的缓冲读取器对象,打开一个文件,然后应该发出一堆关于该文件的数据.但我根本无法访问任何数据.在一个单独的testMain文件中,我创建了一个名为fr的新FileReadExample对象,然后尝试从那里打印出像fr.readLine()这样的东西,但它告诉我没有这样的方法.我敢肯定我错过了一些非常容易的东西.

编辑 - 教授代码:

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

public class FileReadExample
{
    public static void main(String[] args)
    {
        System.out.println("got here");
        try
        {
            BufferedReader in = new BufferedReader(new FileReader(new File("sample-file.dat")));
            System.out.println("File open successful!");

            int line = 0;
            for (String x = in.readLine(); x != null; x = in.readLine())
            {
                line++;
                System.out.println(x);
                if (line <= 3)
                {
                    String[] tokens = x.split(" ");
                    System.out.println("Number of tokens in line " + line + ": " + tokens.length);
                    System.out.println("The tokens are:"); …
Run Code Online (Sandbox Code Playgroud)

java bufferedreader

42
推荐指数
1
解决办法
37万
查看次数

为什么不能重新打开封闭(标准)流?

System.in是提供用户输入数据的"标准"输入流.关闭后,无法重新打开此流.一个这样的例子是在使用扫描仪读取用户输入的情况下如下:

public class Test {
    public static void main(String[] args) {

        boolean finished;

        do {
            Scanner inputScanner = new Scanner(System.in);
            finished = inputScanner.hasNext("exit");
            boolean validNumber = inputScanner.hasNextDouble();
            if (validNumber) {
                double number = inputScanner.nextDouble();

                System.out.print(number);
            } else if (!finished) {
                System.out.println("Please try again.");
            }
            inputScanner.close();
        } while (!finished);
    }
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,Scanner创建了一个类型实例,用于从用户读取一系列数字(请忽略此代码的其他详细信息,超出此示例的范围,我知道应在循环外创建并关闭扫描程序).在从用户输入检索到数字之后Scanner,关闭该实例(即,输入流).但是,当从用户请求另一个号码并创建新实例时,无法再次打开输入流.在这个例子的情况下,它创建一个无限循环.

问题是:为什么不能重新打开封闭的流?

java

26
推荐指数
2
解决办法
8213
查看次数

正确的main方法语法

这是一个初学者问题.我是java新手,一直在浏览StackOverflow和CodeReview.我发现使用了这两种不同的格式:

例1:

public static void main(String args[])
Run Code Online (Sandbox Code Playgroud)


示例2:

public static void main(String[] args)
Run Code Online (Sandbox Code Playgroud)

这就是我在课程笔记中的内容:

这些词被称为修饰语.main()方法前面还有单词void,表示它不返回任何值.main()方法总是有一个可以传递给程序的命令行参数列表

main(String [] args)

我们现在要忽略它.

所以,正如你所看到的,我们现在被告知要忽略它,但我想知道:

这些之间是否存在实际差异,如果是,那么什么?

java

4
推荐指数
1
解决办法
9381
查看次数

标签 统计

java ×3

bufferedreader ×1