如何使用java读取存储在服务器上的文件内容?

如何使用java读取存储在服务器上的文件内容?,java,Java,如何使用java读取存储在服务器上的文件? 我有.txt文件存储在服务器上,如何读取它的内容 String test, newq; newq = "http://www.example.com/pqr.txt"; test = new String(Files.readAllBytes(Paths.get(newq))); // variable test should contain pqr.txt content 我做错了什么?通过HttpURLConnection并使用String

如何使用java读取存储在服务器上的文件? 我有.txt文件存储在服务器上,如何读取它的内容

String test, newq;

newq = "http://www.example.com/pqr.txt";

test = new String(Files.readAllBytes(Paths.get(newq)));

// variable test should contain pqr.txt content

我做错了什么?

通过
HttpURLConnection
并使用
StringBuilder
。草图代码:

final URL url = new URL("http://www.example.com/pqr.txt");

final StringBuilder sb = new StringBuilder();

final char[] buf = new char[4096];

final CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder()
    .onMalformedInput(CodingErrorAction.REPORT);

try (
    final InputStream in = url.openStream();
    final InputStreamReader reader = new InputStreamReader(in, decoder);
) {
    int nrChars;
    while ((nrChars = reader.read(buf)) != -1)
        sb.append(buf, 0, nrChars);
}

final String test = sb.toString();

对于在文件系统中找到的文件,该代码可以正常工作。路径对象是专门为此而设计的

当您想要访问远程文件时,它将不再工作

读取文件的一种简单方法是:

    URL url = new URL("https://wordpress.org/plugins/about/readme.txt");
    String text = new Scanner( url.openStream() ).useDelimiter("\\A").next();
它不是很漂亮,但它很小,它可以工作,不需要任何库

使用Apache Commons,您可以这样做:

   URL url = new URL("https://wordpress.org/plugins/about/readme.txt");
   String text = IOUtils.toString(url.openStream());

我不想下载这个文件,只想读它!对不起,也许我不明白你的问题。是否要在服务器本身上运行此代码?或者您想从客户端(您的本地计算机)访问文件?从客户端访问;我希望客户端只读取其中的文本和字符串。
newstring(Files.readAllBytes(path.get(newq))
要下载一个文件,首先需要读取它,然后存储它。请阅读链接问题中的答案。您可以直接将它们应用于您的问题,阅读后不必存储文件。我正在查看
HttpURLConnection
的源代码,
HttpURLConnection
是一个抽象类,您是如何创建对象的?使用了其他API吗?对不起,我的部分有错误。看看修改后的代码谢谢你!正是我想要的!