【问题标题】:How can I get a string from the user in java? [closed]如何在java中从用户那里获取字符串? [关闭]
【发布时间】:2012-01-24 13:23:00
【问题描述】:

我正在使用下面的代码在 Java 中获取一个字符串以将其用作文件路径,但它有一个错误。我检查了地址是正确的,但我不知道确切的问题是什么?

String filename;
System.out.print("please write down the address of your specefic file:(please insert double '\\'instead of one '\')");
Scanner input=new Scanner(System.in);
filename=input.nextLine();
File n=new File(filename);
System.out.print(n.getPath());
compress(n);

【问题讨论】:

  • 为了尽快获得更好的帮助,请尝试发布 SSCCE pscode.org/sscce.html
  • 您需要比“它有错误”更具体。准确告诉我们正在发生的事情、时间与您期望发生的事情以及原因。
  • 哪个错误,请添加示例?
  • address of your specefic file:(please insert double '\\'instead of one '\' 这在 OS X 或 *nix 上效果不佳。 ;) (拼写为 'specific' 2 'i's, 1 'e'。)

标签: java io


【解决方案1】:

你应该正常输入你的输入,而不是双\\。您为创建文件而调用的 java 代码将负责正确转义 \ 字符。

【讨论】:

  • 或者更确切地说,它们不需要被转义。
【解决方案2】:

在不知道确切错误的情况下,我认为您可能正在输入类似

的字符串
C:\\test.txt

所以 java 转义输入并尝试打开

File n = new File("C:\\\\test.txt");

其中可能抛出错误。

【讨论】:

  • 谢谢,主要问题是这个。我写下地址,但没有格式
【解决方案3】:

这段代码运行良好:

String filename;
System.out.print("please write down the address of your specefic file:(please insert double '\\'instead of one '\')");
Scanner input=new Scanner(System.in);
filename=input.nextLine();
File n=new File(filename);
System.out.print(n.getPath());

请写下您的特定文件的地址:(请插入 双 '\' 而不是一个 '') /Users/acuga/Downloads/sitemap.xml

/Users/acuga/Downloads/sitemap.xml

要么是compress() 方法有问题,要么是路径输入错误。

请显示您遇到的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    相关资源
    最近更新 更多