java - 使用java应用程序可执行文件打开并读取随机.txt,不知道.txt的路径

标签 java file dump

我想知道如何在 Java 应用程序中打开并显示 .txt。 .txt 与应用程序关联,当您单击它时,应用程序将打开,但如果不通过固定路径,则不会显示该文件。

我必须显示它,但前提是 .txt 文件与 jar 文件位于同一目录中,并且仅当直接运行应用程序时。从 .txt 直接访问会打开应用程序,但仅此而已。

我有这段代码,你直接看路径步骤吧。我要你从已点击的 .txt 中获取。

    FileReader f = new FileReader("archivo.txt");
    BufferedReader b = new BufferedReader(f);

    String linea_cliente = b.readLine();
    StringTokenizer datos_cliente = new StringTokenizer(linea_cliente,";");
    while(datos_cliente.hasMoreTokens()){
        pedido.setText(datos_cliente.nextToken());
        id_cliente.setText(datos_cliente.nextToken());
        nom_cli.setText(datos_cliente.nextToken());
        dir_cli.setText(datos_cliente.nextToken());
        cp_cli.setText(datos_cliente.nextToken());
        loc_cli.setText(datos_cliente.nextToken());
        prov_cli.setText(datos_cliente.nextToken());
        pais_cli.setText(datos_cliente.nextToken());
        obs_cli.setText(datos_cliente.nextToken());
    } 

抱歉我的英语不好。谢谢;)

最佳答案

FileReader f = new FileReader("archivo.txt");

暗示archivo.txt是相对路径。与当前可执行文件相关的相对含义。这是一个隐含的 .\archivo.txt

您可以将其放在子目录中并再次使用相对路径,例如 .\myfiles\textfiles\archivo.txt 其中 .\ 是 jar 的位置。

如果您想输入许多不同的文本文件并且您不知道它们在哪里,那么您可以使用参数。从命令行来看,它看起来像:

> java jar myproj.jar C:\test\foo\archivo.txt

要在 main() 中访问它,请使用:

String filePath = args[0]
FileReader f = new FileReader(filePath);

如果您希望它可以跨多个系统移植,您需要利用 environment variables获取您的基本路径,然后将 .txt 文件的路由附加到基本路径。

抱歉,有点不清楚您的要求,所以我介绍了一些常见情况,如果您需要澄清,请告诉我。

关于java - 使用java应用程序可执行文件打开并读取随机.txt,不知道.txt的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31295454/

相关文章:

java - 在 Eclipse 中编辑行号

java - Nancy Java Web 框架

java - 如何在Java中将文本xTab空格的字符串 block 向右移动?

java - 在 JVM 上禁用本地 JMX 连接

performance - 获取所有 Neo4j 节点和关系的最快方法?

Java - 变量作用域

bash - 将文件从一个目录复制到现有目录

PHP文件上传无法在同一表单上发送POST数据

android - 如何检测 Android 中的文件或文件夹更改?

mongodb - mongodump 故障 'locale::facet::_S_create_c_locale name not valid'