当前位置: 首页 > 知识库问答 >
问题:

如何保持java程序运行(循环),以便我可以使用扫描仪输入到相同的文本文件文本文件?

于嘉许
2023-03-14

我试图使用java scanner输入从键盘读取多个输入(数字作为字符串,如12345)并发送到文本文件,我有一个扫描仪读取input.nextLine(),它将在每一行中读取。我只想运行我的程序,让它保持运行,这样它就会用每个扫描仪输入填充文本文件。我正在使用以下代码

import java.util.*;
import java.io.*;

public class tap1 
{    
    public static void main(String[] args) throws IOException
    {
        System.out.println("Please enter number:");     
        File outFile = new File ("CardNumbers.txt");
        FileWriter fWriter = new FileWriter (outFile, true);
        PrintWriter pWriter = new PrintWriter (fWriter);
        Scanner scan = new Scanner(System.in);
        String num = scan.nextLine();
        pWriter.println (num);
        pWriter.close();                
    }   
}

共有2个答案

米夕
2023-03-14

你可以试试这个

import java.util.*;
import java.io.*;

public class tap1 
{    
    public static void main(String[] args) throws IOException
    {
        System.out.println("Please enter number:");     
        File outFile = new File ("CardNumbers.txt");
        FileWriter fWriter = new FileWriter (outFile, true);
        PrintWriter pWriter = new PrintWriter (fWriter);
        Scanner scan = new Scanner(System.in);
        String num = "";
        while(true){
        num=scan.nextLine();
        if(num.equals("exit")){
           break;
        }
        pWriter.println (num);
        }
        pWriter.close();                
    }   
}
农永宁
2023-03-14

你可以把它绕成一个圈

  while(scanner.hasNext){
    scanner.nextLine();
  //Do some code
}

您将继续“扫描”新输入,直到达到EOF,直到程序继续运行。

 类似资料:
  • 我有一个文本频率分析程序,我试图修改这个程序,这样它就能读取你指定的文本文件中的所有文本。每次我输入文件名时,它都会向我抛出一个错误,你知道我哪里出错了吗? 错误消息: 异常线程"main"java.io.FileNotFoundException:file.txt(没有这样的文件或目录)java.io.FileInputStream.open(本机方法)在java.io.FileInputStr

  • 我正在尝试编写一个应用程序,它将占用一个非常大的sql文本文件~60GB(2.57亿行),并将每个COPY语句拆分为单独的文本文件。 但是,我目前使用的代码会导致OutOfMemoryError,因为行超过了扫描仪缓冲区限制。第一个语句将是4000万行。 请提供建议,说明这是执行此操作的错误方法还是对现有方法的修改。 谢啦

  • 在我大学项目的一部分中,我必须得到一些行的文本,然后将其保存在字符串或字符串数组中。我的问题是,在scanner类中,使用方法只能得到一行输入。所以我无法得到其他行。请帮帮我。 }

  • 问题内容: 使用扫描程序对象从文本文件读取时,我希望它跳过文件的第一行。我将如何做到这一点? 问题答案: 只需在while循环之前使用即可。如JavaDoc中所述,这将跳过第一行。 还有关于您的命名的注释。Java语言具有广泛接受的约定。类名总是以大写字母开头,变量名总是以小写字母开头(常量除外,但现在不必担心)。在这里阅读更多。

  • 问题内容: 我可以将String转换为UTF-8数组,但不能像第一个String一样将其转换回String。 如何打印为字符串? 问题答案: 应该真的 这里的根本问题是String构造函数不是很聪明。String构造函数无法区分正在使用的字符集,并将尝试使用通常类似于ASCII或ISO-8859-1的系统标准对其进行转换。这就是为什么正常的A- Za-z看起来正确,但其他所有内容都开始失效的原因。

  • 问题内容: 所以我在打印输出时遇到麻烦。我理解这个概念,但是当涉及到这个问题时,这有点奇怪。我尝试了不同的打印行,所有这些行在控制台窗口中都给我不同的结果。我仍在尝试不同的方法,但即时通讯开始用尽想法。谢谢,非常感谢! 这就是我想要的预期输出。 当我尝试println时,它对output.println(data [0]); 当我进行常规打印时 这是文本文件打印方法` 问题答案: 试试这个 :