如何使用java读取存储在服务器上的文件内容?
如何使用java读取存储在服务器上的文件? 我有.txt文件存储在服务器上,如何读取它的内容如何使用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
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吗?对不起,我的部分有错误。看看修改后的代码谢谢你!正是我想要的!