我一直在使用下面的成语一段时间了.它似乎是最广泛的,至少在我访问过的网站上.
是否有更好/不同的方式将文件读入Java中的字符串?
private String readFile(String file) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader (file));
String line = null;
StringBuilder stringBuilder = new StringBuilder();
String ls = System.getProperty("line.separator");
try {
while((line = reader.readLine()) != null) {
stringBuilder.append(line);
stringBuilder.append(ls);
}
return stringBuilder.toString();
} finally {
reader.close();
}
}
Run Code Online (Sandbox Code Playgroud) 我试图将URL(使用java包java.net.URL)中的图像读取 到byte []."Everything"工作正常,除了内容不是从流中被读取(图像损坏,它不包含所有图像数据)...字节数组被保存在数据库(BLOB)中.我真的不知道正确的方法是什么,也许你可以给我一个提示:)
这是我的第一种方法(代码格式化,删除了不必要的信息......):
URL u = new URL("http://localhost:8080/images/anImage.jpg");
int contentLength = u.openConnection().getContentLength();
Inputstream openStream = u.openStream();
byte[] binaryData = new byte[contentLength];
openStream.read(binaryData);
openStream.close();
Run Code Online (Sandbox Code Playgroud)
我的第二个方法是这个(因为你会看到内容长度是另一种方式):
URL u = new URL(content);
openStream = u.openStream();
int contentLength = openStream.available();
byte[] binaryData = new byte[contentLength];
openStream.read(binaryData);
openStream.close();
Run Code Online (Sandbox Code Playgroud)
这两个代码都会导致图像损坏...我已经从stackoverflow中读到了这篇文章