java FileInputStream如何在不替换html图标的情况下读取html文件
我在本地磁盘上有一个图片文件和html文件,每当我想用本地主机打开html文件时,html格式的图片就会被本地磁盘上的图片替换掉。原因是什么?thx
String parts[] = request.split(" ");
if(parts.length==3){
if(parts[0].compareTo("GET")==0){
String filename = parts[1].substring(1);
System.out.println(filename);
if(filename.compareTo("")==0){
FileInputStream defult = new FileInputStream("C:\\google.html");
byte byteArray[] = new byte[defult.available()];
while((b = defult.read(byteArray)) != -1){
//println(stream,"HTTP/1.1 200 OK");
//println(stream,"");
stream.write(byteArray);
}
}
else{
FileInputStream input = new FileInputStream("C:\\picture.jpg");
byte byteArray[] = new byte[input.available()];
while((b = input.read(byteArray)) != -1){
//println(stream,"HTTP/1.1 200 OK");
//println(stream,"");
sleep(1000);
stream.write(byteArray);
}
}
在代码中b
是一个int变量,stream
是FileInputStream,println
是一个带有bufferedoutstream的函数。而且request
会得到类似“get/HTTP/1.1”的东西
例如,当我在位置栏中键入http://localhost:8080/时,谷歌搜索图标将被替换enter image description here
# 1 楼答案
问题是文档必须有相对路径,而不是绝对路径。正如你所说,你只需点击
Save to...
。一些处理该操作的浏览器不只是保存页面源代码,它们下载所有依赖项,并将文档中的所有路径更新为指向硬盘的绝对链接。所以这不是你想要的。通过打开页面源代码并将其复制到谷歌上,尝试保存页面代码。html而不是Save to..
操作